Manifold plugs into Java to supplement it with powerful features, from Type-safe Metaprogramming (direct access to GraphQL, JSON, XML, etc.), Extension Methods, Operator Overloading, and Unit Expressions to an integrated Template Engine and a Preprocessor. All fully supported in IntelliJ IDEA and Android Studio. Simply add Manifold to your project and begin taking advantage of it.

Overview

What is Manifold?

Manifold plugs into Java to supplement it with powerful features, including:

All fully supported in Java 8 - 16 with comprehensive IDE support in IntelliJ IDEA and Android Studio. Simply add Manifold to your existing project and begin taking advantage of it.

New!

What can you do with Manifold?

Meta-programming

Use the framework to gain direct, type-safe access to any type of resource, such as GraphQL, JSON, XML, YAML, CSV, and even other languages such as JavaScript. Remove the code gen step in your build process.    Check it out!

GraphQL: Use types defined in .graphql files directly, no code gen steps! Make GraphQL changes and immediately use them with code completion.

var query = MovieQuery.builder(Action).build();
var result = query.request("http://example.com/graphql").post();
var actionMovies = result.getMovies();
for (var movie : actionMovies) {
  out.println(
    "Title: " + movie.getTitle() + "\n" +
    "Genre: " + movie.getGenre() + "\n" +
    "Year: " + movie.getReleaseDate().getYear() + "\n");
}

JSON: Use .json schema files directly and type-safely, no code gen steps! Find usages of .json properties in your Java code.

// From User.json
User user = User.builder("myid", "mypassword", "Scott")
  .withGender(male)
  .withDob(LocalDate.of(1987, 6, 15))
  .build();
User.request("http://api.example.com/users").postOne(user);

Extension Methods

Add your own methods to existing Java classes, even String, List, and File. Eliminate boilerplate code.    Check it out!

String greeting = "hello";
greeting.myMethod(); // Add your own methods to String!

Operator Overloading

Implement operator methods on any type to directly support arithmetic, relational, index, and unit operators.

// BigDecimal expressions
if (bigDec1 > bigDec2) {
  BigDecimal result = bigDec1 + bigDec2;
  ...
}
// Implement operators for any type
MyType value = myType1 + myType2;

Unit Expressions

Unit or binding operations are unique to the Manifold framework. They provide a powerfully concise syntax and can be applied to a wide range of applications.

import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc
...
Length distance = 100 mph * 3 hr;
Force f = 5.2 kg m/s/s; // same as 5.2 N
Mass infant = 9 lb + 8.71 oz;

Ranges

Easily work with the Range API using unit expressions. Simply import the RangeFun constants to create ranges.

// imports the `to`, `step`, and other "binding" constants
import static manifold.collections.api.range.RangeFun.*;
...
for (int i: 1 to 5) {
  out.println(i);
}

for (Mass m: 0kg to 10kg step 22r unit g) {
  out.println(m);
}

Science

Use the manifold-science framework to type-safely incorporate units and precise measurements into your applications.

import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc.
...
Velocity rate = 65mph;
Time time = 1min + 3.7sec;
Length distance = rate * time;

Preprocessor

Use familiar directives such as #define and #if to conditionally compile your Java projects. The preprocessor offers a simple and convenient way to support multiple build targets with a single codebase.    Check it out!

#if JAVA_8_OR_LATER
  @Override
  public void setTime(LocalDateTime time) {...}
#else
  @Override
  public void setTime(Calendar time) {...}
#endif

Structural Typing

Unify disparate APIs. Bridge software components you do not control. Access maps through type-safe interfaces.    Check it out!

Map<String, Object> map = new HashMap<>();
MyThingInterface thing = (MyThingInterface) map; // O_o
thing.setFoo(new Foo());
Foo foo = thing.getFoo();
out.println(thing.getClass()); // prints "java.util.HashMap"

Type-safe Reflection

Access private features with @Jailbreak to avoid the drudgery and vulnerability of Java reflection.    Check it out!

@Jailbreak Foo foo = new Foo();
// Direct, *type-safe* access to *all* foo's members
foo.privateMethod(x, y, z);
foo.privateField = value;

Checked Exception Handling

You now have an option to make checked exceptions behave like unchecked exceptions! No more unintended exception swallowing. No more try/catch/wrap/rethrow boilerplate!

List<String> strings = ...;
List<URL> urls = list
  .map(URL::new) // No need to handle the MalformedURLException!
  .collect(Collectors.toList());

String Templates

Embed variables and expressions in String literals, no more clunky string concat!    Check it out!

int hour = 15;
// Simple variable access with '$'
String result = "The hour is $hour"; // Yes!!!
// Use expressions with '${}'
result = "It is ${hour > 12 ? hour-12 : hour} o'clock";

A Java Template Engine

Author template files with the full expressive power of Java, use your templates directly in your code as types. Supports type-safe inclusion of other templates, shared layouts, and more.    Check it out!

List<User> users = ...;
String content = abc.example.UserSample.render(users);

A template file abc/example/UserSample.html.mtl

<%@ import java.util.List %>
<%@ import com.example.User %>
<%@ params(List<User> users) %>
<html lang="en">
<body>
<% users.stream()
   .filter(user -> user.getDateOfBirth() != null)
   .forEach(user -> { %>
    User: ${user.getName()} <br>
    DOB: ${user.getDateOfBirth()} <br>
<% }); %>
</body>
</html>

IDE Support

Use the Manifold plugin to fully leverage Manifold with IntelliJ IDEA and Android Studio. The plugin provides comprehensive support for Manifold including code completion, navigation, usage searching, refactoring, incremental compilation, hotswap debugging, full-featured template editing, integrated preprocessor, and more.

manifold ij plugin

Projects

The Manifold project consists of the core Manifold framework and a collection of sub-projects implementing SPIs provided by the core framework. Each project consists of one or more dependencies you can easily add to your project:

Manifold : Core

Manifold : Java Extensions

Manifold : GraphQL
Manifold : JSON
Manifold : XML
Manifold : YAML
Manifold : CSV
Manifold : Properties
Manifold : Image
Manifold : Dark Java
Manifold : JavaScript

Manifold : Java Templates

Manifold : String Interpolation
Manifold : (Un)checked Exceptions

Manifold : Preprocessor

Manifold : Science

Manifold : Collections
Manifold : I/0
Manifold : Text

Experiment with sample projects:

Forum

Join our Slack Group to start a discussion, ask questions, provide feedback, etc. Someone is usually there to help.

Learn More


Comments
  • When source code has errors: The Manifold plugins makes IntelliJ very slow (delay of 7 to 13s!)

    When source code has errors: The Manifold plugins makes IntelliJ very slow (delay of 7 to 13s!)

    I'm very sorry, keep writing about issues, I find manifold actually brilliant.

    Describe the bug

    For some days, I noticed that IntelliJ becomes very slow as soon as the code has errors.

    Now, unfortunately, I was able to trace the problem back to the manifold plugin:

    Ex. 1: No optional IJ Plugins are enabled: IJ is fast

    I finally had time to disable all plugins - and then IJ is fast, see this example: I fix a bug in my code and return a string in the Code. You can see the characters while typing the returned string content:

    IntelliJ, without optional plugins

    Ex. 2: Just the Manifold Plugin 2021.2.17 is enabled: IJ gets lags

    Now, I just enable the Manifold Plugin, 2021.2.17 (I'm pretty sure this bug crept in before version 2021.2.16). I fix the same bug in my code as above and return a string. Maybe important: As soon as I start modifying null in "null", then IJ is blocked. Now, you can not see typing the characters in the returned string. After a delay of about 11s the complete return statement is displayed:

    IntelliJ, just with manifld plugin

    To Reproduce Steps to reproduce the behavior:

    1. I have sourcefiles with errors

    Desktop (please complete the following information):

    • OS Type & Version: Windows 10, 21H1, x64
    • Java/JDK version: 1.8.0_162
    • IDE version (IntelliJ IDEA or Android Studio): IntelliJ IDEA 2021.2 (Community Edition) Build #IC-212.4746.92, built on July 27, 2021
    • Manifold version: 2021.2.17
    • Manifold IntelliJ plugin version: 2021.1.16

    Kind regards, Thomas

    IntelliJ Plugin 
    opened by schittli 86
  • XML type manifold support

    XML type manifold support

    This issue continues the discussion from https://github.com/manifold-systems/manifold/issues/111, focusing more on XML type manifolds rather than the XSD manifold.

    Update What has developed from this discussion is an "XML Manifold", which is essentially XML schema by-example, which is similar to the JSON Manifold where it supports both by-example JSON and JSON Schema. In fact, as with the YAML Manifold, the XML Manifold amounts to a thin layer over the core JSON framework. Essentially it transforms XML to/from JSON bindings the same way YAML does. This way you can use JSON, YAML, and XML interchangeably and equally leverage all the features from the JSON framework -- knowing one means you know them all.

    enhancement 
    opened by rsmckinney 22
  • Code Completion on Gradle Projects does not work

    Code Completion on Gradle Projects does not work

    Intelij does not show the extension methods.

    build.grade dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' // -- All manifold, includes all other dependencies listed here -- compile group: 'systems.manifold', name: 'manifold-all', version: '0.48-alpha' compile files("${System.getProperty('java.home')}/../lib/tools.jar") }

    tasks.withType(JavaCompile) { options.compilerArgs += '-Xplugin:Manifold' options.fork = true }

    image

    image

    Whats wrong here? Normal Projects without gradle works.

    opened by Xedon 22
  • javac crash when combined with Lombok

    javac crash when combined with Lombok

    Running the Manifold and Lombok plugins together causes javac to crash/misbehave when there are compilation warnings/errors.

    Both examples below are using these javac arguments:

    javac -processorpath /path/to/lombok-1.18.10.jar:/path/to/manifold-util-2019.1.26.jar:/path/to/manifold-2019.1.26.jar "-Xplugin:Manifold no-bootstrap"
    
    1. javac crashes if the input contains syntax errors.

    Given this class as input:

    class Test {} }
    

    ...javac crashes with this exception in ManifoldJavaFileManager:

    An exception has occurred in the compiler (11.0.2). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
    java.lang.NullPointerException
            at manifold.internal.javac.ManifoldJavaFileManager.list(ManifoldJavaFileManager.java:203)
            at jdk.compiler/com.sun.tools.javac.code.ClassFinder.list(ClassFinder.java:734)
            at jdk.compiler/com.sun.tools.javac.code.ClassFinder.scanModulePaths(ClassFinder.java:597)
            at jdk.compiler/com.sun.tools.javac.code.ClassFinder.fillIn(ClassFinder.java:553)
            at jdk.compiler/com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:299)
            at jdk.compiler/com.sun.tools.javac.code.Symbol.complete(Symbol.java:642)
            at jdk.compiler/com.sun.tools.javac.code.ClassFinder.completeOwners(ClassFinder.java:313)
            at jdk.compiler/com.sun.tools.javac.code.ClassFinder.complete(ClassFinder.java:289)
            at jdk.compiler/com.sun.tools.javac.code.Symbol.complete(Symbol.java:642)
            at jdk.compiler/com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1326)
            at jdk.compiler/com.sun.tools.javac.code.Symbol$ClassSymbol.members(Symbol.java:1264)
            at jdk.compiler/com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.findAccessMethod(ClassReader.java:2135)
            at jdk.compiler/com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.deproxyCompound(ClassReader.java:2126)
            at jdk.compiler/com.sun.tools.javac.jvm.ClassReader$AnnotationDeproxy.deproxyCompoundList(ClassReader.java:2115)
            at jdk.compiler/com.sun.tools.javac.jvm.ClassReader$AnnotationCompleter.run(ClassReader.java:2334)
            at jdk.compiler/com.sun.tools.javac.comp.Annotate.flush(Annotate.java:191)
            at jdk.compiler/com.sun.tools.javac.comp.Annotate.unblockAnnotations(Annotate.java:144)
            at jdk.compiler/com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:157)
            at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.enterDone(JavaCompiler.java:1741)
            at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.initModules(JavaCompiler.java:1047)
            at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:939)
            at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:311)
            at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
            at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
            at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
    
    1. Compilation warnings are not reported correctly, and -Werror has no effect.

    When compiling this class using -Xlint:all -Werror:

    class Test {int x = 1/0;}
    

    ...it should print the following output:

    Test.java:1: warning: [divzero] division by zero
    class Test {int x = 1/0;}
                          ^
    error: warnings found and -Werror specified
    1 error
    1 warning
    

    ...as well as setting a nonzero exit code, and terminating without producing a .class file.

    However, the last 3 lines are absent, the resulting exit code is zero, and the .class is successfully created.

    Relevant versions:

    • Windows 10
    • OpenJDK 11.0.2+9
    • Manifold 2019.1.26
    • Lombok 1.18.10

    Both plugins work fine on their own, or when used together with ErrorProne, so the problem appears to be specific to this combination.

    bug 
    opened by iadcode 20
  • Gradle build error on Android project with Manifold extensions

    Gradle build error on Android project with Manifold extensions

    Describe the bug I want to use this library in an existing android project, but there's a gradle build error. I want to use the extension methods module.

    To Reproduce Download this project. It's not the original project, but it has the exact gradle build scripts. Build it with ./gradlew :app:clean :app:assembleDebug.

    Desktop (please complete the following information):

    • OS Type & Version: Ubuntu 18.04.4 LTS
    • Java/JDK version: openjdk 11.0.7 2020-04-14 but I think android studio uses its bundled openjdk 8
    • IDE version (IntelliJ IDEA or Android Studio): Android Studio 4.0
    • Manifold version: 2020.1.19
    • Manifold IntelliJ plugin version: 2019.3.16 (from Android Studio/Intellij plugin store)

    Stack trace

    java.lang.NullPointerException
            at manifold.internal.javac.SrcClassUtil.findConstructor(SrcClassUtil.java:574)
            at manifold.internal.javac.SrcClassUtil.genSuperCtorCall(SrcClassUtil.java:539)
            at manifold.internal.javac.SrcClassUtil.addMethod(SrcClassUtil.java:309)
            at manifold.internal.javac.SrcClassUtil.makeSrcClass(SrcClassUtil.java:151)
            at manifold.internal.javac.SrcClassUtil.addInnerClass(SrcClassUtil.java:207)
            at manifold.internal.javac.SrcClassUtil.makeSrcClass(SrcClassUtil.java:141)
            at manifold.internal.javac.SrcClassUtil.makeStub(SrcClassUtil.java:81)
            at manifold.internal.javac.SrcClassUtil.makeStub(SrcClassUtil.java:75)
            at manifold.internal.javac.ClassSymbols.makeSrcClassStub(ClassSymbols.java:273)
            at manifold.ext.ExtCodeGen.make(ExtCodeGen.java:92)
            at manifold.ext.ExtensionManifold.contribute(ExtensionManifold.java:252)
            at manifold.ext.ExtensionManifold.contribute(ExtensionManifold.java:52)
            at manifold.api.type.ResourceFileTypeManifold.contribute(ResourceFileTypeManifold.java:396)
            at manifold.internal.host.SimpleModule.compoundProduce(SimpleModule.java:174)
            at manifold.internal.host.SimpleModule.lambda$produceFile$0(SimpleModule.java:139)
            at manifold.internal.javac.SourceSupplier.getSource(SourceSupplier.java:50)
            at manifold.internal.javac.GeneratedJavaStubFileObject.lambda$new$0(GeneratedJavaStubFileObject.java:40)
            at manifold.util.concurrent.LocklessLazyVar$1.init(LocklessLazyVar.java:90)
            at manifold.util.concurrent.LocklessLazyVar.get(LocklessLazyVar.java:40)
            at manifold.internal.javac.GeneratedJavaStubFileObject.getCharContent(GeneratedJavaStubFileObject.java:101)
            at com.sun.tools.javac.main.JavaCompiler.complete(JavaCompiler.java:772)
            at com.sun.tools.javac.main.JavaCompiler$1.complete(JavaCompiler.java:312)
            at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2535)
            at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2442)
            at com.sun.tools.javac.jvm.ClassReader.access$000(ClassReader.java:76)
            at com.sun.tools.javac.jvm.ClassReader$1.complete(ClassReader.java:240)
            at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
            at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
            at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2623)
            at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1907)
            at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:2146)
            at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3391)
            at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3278)
            at manifold.internal.javac.ManAttr_8.visitSelect(ManAttr_8.java:120)
            at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1897)
            at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:576)
            at com.sun.tools.javac.comp.Attr.attribType(Attr.java:638)
            at com.sun.tools.javac.comp.Attr.attribType(Attr.java:631)
            at com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.java:834)
            at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:558)
            at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:571)
            at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:437)
            at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:449)
            at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:528)
            at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:518)
            at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:437)
            at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1038)
            at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
            at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
            at com.sun.tools.javac.comp.Enter.complete(Enter.java:493)
            at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
            at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
            at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
            at com.sun.tools.javac.main.Main.compile(Main.java:523)
            at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
            at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
            at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:93)
            at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57)
            at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:54)
            at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:39)
            at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:100)
            at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
            at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
            at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
            at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
            at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
            at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:98)
            at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:60)
            at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:44)
            at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
            at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
            at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
            at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
            at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:208)
            at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:179)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
            at org.gradle.api.internal.project.taskfactory.IncrementalInputsTaskAction.doExecute(IncrementalInputsTaskAction.java:32)
            at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
            at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
            at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:568)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
            at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:553)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:536)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:276)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:265)
            at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:32)
            at java.util.Optional.map(Optional.java:215)
            at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:32)
            at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
            at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
            at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
            at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
            at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
            at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
            at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
            at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
            at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
            at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
            at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
            at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
            at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
            at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
            at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
            at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
            at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
            at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
            at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
            at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
            at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
            at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
            at java.util.Optional.map(Optional.java:215)
            at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
            at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
            at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
            at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
            at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
            at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
            at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
            at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
            at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
            at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
            at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
            at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
            at java.util.Optional.orElseGet(Optional.java:267)
            at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
            at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
            at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
            at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
            at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
            at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:192)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:184)
            at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
            at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
            at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
            at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
            at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
            at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
            at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
            at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
            at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
            at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    
    bug enhancement 
    opened by andob 18
  • Intellijidea editor window blocking for a few seconds

    Intellijidea editor window blocking for a few seconds

    Hi,

    Intellij idea sometimes freezes for a few seconds. The issue does not occur when the manifold plugin is deactivated.

    I managed to catch a few stacktrace of two threads which were taking 100% cpu (ChangeListManagerImpl and Invoker.5.Thread:ReadAction=YES: com.intelliji.ide.projectView.impl.ProjectViewPange@3650deb9

    com.intellij.util.CachedValueBase.isUpToDate(CachedValueBase$Data) CachedValueBase.java com.intellij.psi.impl.PsiCachedValue.isUpToDate(CachedValueBase$Data) PsiCachedValue.java:106 com.intellij.util.CachedValueBase.checkUpToDate(CachedValueBase$Data) CachedValueBase.java:97 com.intellij.util.CachedValueBase.getUpToDateOrNull() CachedValueBase.java:93 com.intellij.psi.impl.PsiCachedValueImpl.getUpToDateOrNull() PsiCachedValueImpl.java:13 com.intellij.psi.util.CachedValuesManager.getCachedValue(PsiElement, Key, CachedValueProvider) CachedValuesManager.java:149 com.intellij.psi.util.CachedValuesManager.getProjectPsiDependentCache(PsiElement, Function) CachedValuesManager.java:132 com.intellij.psi.impl.PsiClassImplUtil.getMap(PsiClass, GlobalSearchScope) PsiClassImplUtil.java:189 com.intellij.psi.impl.PsiClassImplUtil.getMap(PsiClass) PsiClassImplUtil.java:185 com.intellij.psi.impl.PsiClassImplUtil.getAllByMap(PsiClass, PsiClassImplUtil$MemberType) PsiClassImplUtil.java:169 com.intellij.psi.impl.PsiClassImplUtil.getAllMethods(PsiClass) PsiClassImplUtil.java:55 com.intellij.psi.impl.compiled.ClsClassImpl.getAllMethods() ClsClassImpl.java:242 manifold.ij.extensions.ManJavaResolveCache.getBinaryType(String, PsiType, PsiType, PsiExpression) ManJavaResolveCache.java:225 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:162 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.core.ManPsiBinaryExpressionImpl.isOverloaded() ManPsiBinaryExpressionImpl.java:50 manifold.ij.core.ManPsiBinaryExpressionImpl.getReference() ManPsiBinaryExpressionImpl.java:56 com.intellij.psi.impl.SharedPsiElementImplUtil.getReferences(PsiElement) SharedPsiElementImplUtil.java:76 com.intellij.psi.impl.source.tree.CompositePsiElement.getReferences() CompositePsiElement.java:144 com.intellij.psi.PsiReferenceServiceImpl.doGetReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:39 com.intellij.psi.PsiReferenceServiceImpl.getReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:26 com.intellij.psi.search.SingleTargetRequestResultProcessor.processTextOccurrence(PsiElement, int, Processor) SingleTargetRequestResultProcessor.java:32 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.lambda$execute$0(boolean, RequestResultProcessor, Processor, PsiElement, int) PsiSearchHelperImpl.java:952 com.intellij.psi.impl.search.PsiSearchHelperImpl$5$$Lambda$5438.execute(PsiElement, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processTreeUp(Project, PsiElement, ASTNode, int, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor) LowLevelSearchUtil.java:88 com.intellij.psi.impl.search.LowLevelSearchUtil.lambda$processElementsAtOffsets$0(Project, PsiElement, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor, ASTNode, int) LowLevelSearchUtil.java:179 com.intellij.psi.impl.search.LowLevelSearchUtil$$Lambda$5104.execute(ASTNode, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processOffsets(ASTNode, int[], ProgressIndicator, LowLevelSearchUtil$NodeTextOccurrenceProcessor) LowLevelSearchUtil.java:205 com.intellij.psi.impl.search.LowLevelSearchUtil.processElementsAtOffsets(PsiElement, StringSearcher, boolean, ProgressIndicator, int[], TextOccurenceProcessor) LowLevelSearchUtil.java:178 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.execute(PsiElement, int[], StringSearcher) PsiSearchHelperImpl.java:948 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(PsiElement) PsiSearchHelperImpl.java:273 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(Object) PsiSearchHelperImpl.java:264 com.intellij.openapi.application.ReadActionProcessor.lambda$process$0(Object) ReadActionProcessor.java:11 com.intellij.openapi.application.ReadActionProcessor$$Lambda$4569.compute() com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ThrowableComputable) ApplicationImpl.java:854 com.intellij.openapi.application.ReadAction.compute(ThrowableComputable) ReadAction.java:61 com.intellij.openapi.application.ReadActionProcessor.process(Object) ReadActionProcessor.java:11 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processCandidates$17(Map, Map, PsiFile) PsiSearchHelperImpl.java:909 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5418.process(Object) com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processVirtualFile$10(VirtualFile, Processor, AtomicBoolean) PsiSearchHelperImpl.java:545 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5437.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.psi.impl.search.PsiSearchHelperImpl.processVirtualFile(VirtualFile, AtomicBoolean, Processor) PsiSearchHelperImpl.java:524 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processPsiFileRoots$7(ProgressIndicator, AtomicBoolean, Processor, ProgressIndicator, AtomicInteger, int, VirtualFile) PsiSearchHelperImpl.java:393 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5423.process(Object) com.intellij.util.containers.ContainerUtil.process(List, Processor) ContainerUtil.java:800 com.intellij.psi.impl.search.PsiSearchHelperImpl.processFilesConcurrentlyDespiteWriteActions(Project, List, ProgressIndicator, AtomicBoolean, Processor) PsiSearchHelperImpl.java:444 com.intellij.psi.impl.search.PsiSearchHelperImpl.processPsiFileRoots(List, int, int, ProgressIndicator, Processor) PsiSearchHelperImpl.java:390 com.intellij.psi.impl.search.PsiSearchHelperImpl.processCandidates(Map, Map, ProgressIndicator, int, int) PsiSearchHelperImpl.java:904 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequests(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:888 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequestsOptimized(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:840 com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(SearchRequestCollector, Processor) PsiSearchHelperImpl.java:765 com.intellij.psi.search.SearchRequestQuery.processResults(Processor) SearchRequestQuery.java:24 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.MergeQuery.processResults(Processor) MergeQuery.java:22 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.UniqueResultsQuery.processResults(Processor) UniqueResultsQuery.java:39 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.forEach(Processor) AbstractQuery.java:83 com.intellij.util.AbstractQuery.findAll() AbstractQuery.java:28 manifold.ij.extensions.ResourceToManifoldUtil.lambda$searchForElement$4(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil$$Lambda$5050.compute() com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(Ref, Computable) ProgressManager.java:57 com.intellij.openapi.progress.ProgressManager$$Lambda$878.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.ProgressManager.runProcess(Computable, ProgressIndicator) ProgressManager.java:57 manifold.ij.extensions.ResourceToManifoldUtil.searchForElement(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement, Set) ResourceToManifoldUtil.java:203 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement) ResourceToManifoldUtil.java:120 manifold.ij.extensions.ManifoldFindUsagesHandlerFactory.canFindUsages(PsiElement) ManifoldFindUsagesHandlerFactory.java:41 com.intellij.find.findUsages.FindUsagesManager.canFindUsages(PsiElement) FindUsagesManager.java:102 com.intellij.find.impl.FindManagerImpl.canFindUsages(PsiElement) FindManagerImpl.java:902 com.intellij.find.findUsages.DefaultUsageTargetProvider.getTargets(PsiElement) DefaultUsageTargetProvider.java:16 com.intellij.usages.UsageTargetUtil.findUsageTargets(PsiElement) UsageTargetUtil.java:51 com.intellij.usages.UsageTargetUtil.findUsageTargets(DataProvider) UsageTargetUtil.java:32 com.intellij.ide.impl.dataRules.UsageTargetsRule.getData(DataProvider) UsageTargetsRule.java:13 com.intellij.ide.impl.DataManagerImpl.getRulesData(String, List, DataProvider) DataManagerImpl.java:124 com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(GetDataRule, List, String, List, DataProvider) DataManagerImpl.java:112 com.intellij.ide.impl.DataManagerImpl$$Lambda$1442.getData(DataProvider) com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataProvider, String, Set, GetDataRule) DataManagerImpl.java:72 com.intellij.openapi.actionSystem.impl.PreCachedDataContext.getData(String) PreCachedDataContext.java:126 com.intellij.openapi.actionSystem.DataContext.getData(DataKey) DataContext.java:42 com.intellij.openapi.actionSystem.impl.ActionUpdater.ensureSlowDataKeysPreCached() ActionUpdater.java:356 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$14(ProgressIndicator, ActionGroup, boolean, AsyncPromise) ActionUpdater.java:279 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1419.compute() com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$16(Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1427.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$17(ApplicationEx, Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1426.run() com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ApplicationEx, Runnable, Runnable) ProgressIndicatorUtils.java:161 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$18(ApplicationEx, AsyncPromise, Ref, Computable) ActionUpdater.java:301 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1423.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(Disposable, Runnable, ProgressIndicator) BackgroundTaskUtil.java:270 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$19(ComponentManager, AsyncPromise, Ref, Computable, ProgressIndicator) ActionUpdater.java:300 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1421.run() com.intellij.codeWithMe.ClientId$Companion.withClientId(ClientId, Runnable) ClientId.kt:135 com.intellij.codeWithMe.ClientId.withClientId(ClientId, Runnable) ClientId.kt com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$20(ClientId, ComponentManager, AsyncPromise, Computable, ProgressIndicator) ActionUpdater.java:298 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1420.run() com.intellij.util.concurrency.BoundedTaskExecutor.doRun(Runnable) BoundedTaskExecutor.java:216 com.intellij.util.concurrency.BoundedTaskExecutor.access$200(Runnable) BoundedTaskExecutor.java:27 com.intellij.util.concurrency.BoundedTaskExecutor$1.execute() BoundedTaskExecutor.java:195 com.intellij.util.concurrency.BoundedTaskExecutor$1$$Lambda$702.run() com.intellij.util.ConcurrencyUtil.runUnderThreadName(String, Runnable) ConcurrencyUtil.java:213 com.intellij.util.concurrency.BoundedTaskExecutor$1.run() BoundedTaskExecutor.java:184 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1128 java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:628 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:668 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:665 java.security.AccessController.doPrivileged(PrivilegedAction, AccessControlContext) AccessController.java (native) java.util.concurrent.Executors$PrivilegedThreadFactory$1.run() Executors.java:665 java.lang.Thread.run() Thread.java:829

    java.lang.Class.forName0(String, boolean, ClassLoader, Class) Class.java (native) java.lang.Class.forName(String, boolean, ClassLoader) Class.java:398 manifold.util.ReflectUtil.type(String, ClassLoader, boolean) ReflectUtil.java:105 manifold.util.ReflectUtil.type(String, boolean) ReflectUtil.java:77 manifold.util.ReflectUtil.type(String) ReflectUtil.java:73 manifold.ij.extensions.ManResolveCache.resolveWithCaching(PsiPolyVariantReference, ResolveCache$PolyVariantContextResolver, boolean, boolean, PsiFile) ManResolveCache.java:79 com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl.multiResolve(boolean) ClsJavaCodeReferenceElementImpl.java:215 com.intellij.psi.impl.compiled.ClsJavaCodeReferenceElementImpl.advancedResolve(boolean) ClsJavaCodeReferenceElementImpl.java:203 com.intellij.psi.impl.source.PsiClassReferenceType.resolveGenerics() PsiClassReferenceType.java:177 com.intellij.psi.impl.source.PsiClassReferenceType.resolve() PsiClassReferenceType.java:121 com.intellij.psi.util.PsiTypesUtil.getPsiClass(PsiType) PsiTypesUtil.java:144 manifold.ij.extensions.ManJavaResolveCache.getBinaryType(String, PsiType, PsiType, PsiExpression) ManJavaResolveCache.java:220 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:165 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.core.ManPsiBinaryExpressionImpl.isOverloaded() ManPsiBinaryExpressionImpl.java:50 manifold.ij.core.ManPsiBinaryExpressionImpl.getReference() ManPsiBinaryExpressionImpl.java:56 com.intellij.psi.impl.SharedPsiElementImplUtil.getReferences(PsiElement) SharedPsiElementImplUtil.java:76 com.intellij.psi.impl.source.tree.CompositePsiElement.getReferences() CompositePsiElement.java:144 com.intellij.psi.PsiReferenceServiceImpl.doGetReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:39 com.intellij.psi.PsiReferenceServiceImpl.getReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:26 com.intellij.psi.search.SingleTargetRequestResultProcessor.processTextOccurrence(PsiElement, int, Processor) SingleTargetRequestResultProcessor.java:32 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.lambda$execute$0(boolean, RequestResultProcessor, Processor, PsiElement, int) PsiSearchHelperImpl.java:952 com.intellij.psi.impl.search.PsiSearchHelperImpl$5$$Lambda$5438.execute(PsiElement, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processTreeUp(Project, PsiElement, ASTNode, int, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor) LowLevelSearchUtil.java:88 com.intellij.psi.impl.search.LowLevelSearchUtil.lambda$processElementsAtOffsets$0(Project, PsiElement, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor, ASTNode, int) LowLevelSearchUtil.java:179 com.intellij.psi.impl.search.LowLevelSearchUtil$$Lambda$5104.execute(ASTNode, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processOffsets(ASTNode, int[], ProgressIndicator, LowLevelSearchUtil$NodeTextOccurrenceProcessor) LowLevelSearchUtil.java:205 com.intellij.psi.impl.search.LowLevelSearchUtil.processElementsAtOffsets(PsiElement, StringSearcher, boolean, ProgressIndicator, int[], TextOccurenceProcessor) LowLevelSearchUtil.java:178 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.execute(PsiElement, int[], StringSearcher) PsiSearchHelperImpl.java:948 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(PsiElement) PsiSearchHelperImpl.java:273 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(Object) PsiSearchHelperImpl.java:264 com.intellij.openapi.application.ReadActionProcessor.lambda$process$0(Object) ReadActionProcessor.java:11 com.intellij.openapi.application.ReadActionProcessor$$Lambda$4569.compute() com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ThrowableComputable) ApplicationImpl.java:854 com.intellij.openapi.application.ReadAction.compute(ThrowableComputable) ReadAction.java:61 com.intellij.openapi.application.ReadActionProcessor.process(Object) ReadActionProcessor.java:11 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processCandidates$17(Map, Map, PsiFile) PsiSearchHelperImpl.java:909 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5418.process(Object) com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processVirtualFile$10(VirtualFile, Processor, AtomicBoolean) PsiSearchHelperImpl.java:545 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5437.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.psi.impl.search.PsiSearchHelperImpl.processVirtualFile(VirtualFile, AtomicBoolean, Processor) PsiSearchHelperImpl.java:524 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processPsiFileRoots$7(ProgressIndicator, AtomicBoolean, Processor, ProgressIndicator, AtomicInteger, int, VirtualFile) PsiSearchHelperImpl.java:393 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5423.process(Object) com.intellij.util.containers.ContainerUtil.process(List, Processor) ContainerUtil.java:800 com.intellij.psi.impl.search.PsiSearchHelperImpl.processFilesConcurrentlyDespiteWriteActions(Project, List, ProgressIndicator, AtomicBoolean, Processor) PsiSearchHelperImpl.java:444 com.intellij.psi.impl.search.PsiSearchHelperImpl.processPsiFileRoots(List, int, int, ProgressIndicator, Processor) PsiSearchHelperImpl.java:390 com.intellij.psi.impl.search.PsiSearchHelperImpl.processCandidates(Map, Map, ProgressIndicator, int, int) PsiSearchHelperImpl.java:904 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequests(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:888 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequestsOptimized(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:840 com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(SearchRequestCollector, Processor) PsiSearchHelperImpl.java:765 com.intellij.psi.search.SearchRequestQuery.processResults(Processor) SearchRequestQuery.java:24 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.MergeQuery.processResults(Processor) MergeQuery.java:22 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.UniqueResultsQuery.processResults(Processor) UniqueResultsQuery.java:39 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.forEach(Processor) AbstractQuery.java:83 com.intellij.util.AbstractQuery.findAll() AbstractQuery.java:28 manifold.ij.extensions.ResourceToManifoldUtil.lambda$searchForElement$4(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil$$Lambda$5050.compute() com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(Ref, Computable) ProgressManager.java:57 com.intellij.openapi.progress.ProgressManager$$Lambda$878.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.ProgressManager.runProcess(Computable, ProgressIndicator) ProgressManager.java:57 manifold.ij.extensions.ResourceToManifoldUtil.searchForElement(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement, Set) ResourceToManifoldUtil.java:203 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement) ResourceToManifoldUtil.java:120 manifold.ij.extensions.ManifoldFindUsagesHandlerFactory.canFindUsages(PsiElement) ManifoldFindUsagesHandlerFactory.java:41 com.intellij.find.findUsages.FindUsagesManager.canFindUsages(PsiElement) FindUsagesManager.java:102 com.intellij.find.impl.FindManagerImpl.canFindUsages(PsiElement) FindManagerImpl.java:902 com.intellij.find.findUsages.DefaultUsageTargetProvider.getTargets(PsiElement) DefaultUsageTargetProvider.java:16 com.intellij.usages.UsageTargetUtil.findUsageTargets(PsiElement) UsageTargetUtil.java:51 com.intellij.usages.UsageTargetUtil.findUsageTargets(DataProvider) UsageTargetUtil.java:32 com.intellij.ide.impl.dataRules.UsageTargetsRule.getData(DataProvider) UsageTargetsRule.java:13 com.intellij.ide.impl.DataManagerImpl.getRulesData(String, List, DataProvider) DataManagerImpl.java:124 com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(GetDataRule, List, String, List, DataProvider) DataManagerImpl.java:112 com.intellij.ide.impl.DataManagerImpl$$Lambda$1442.getData(DataProvider) com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataProvider, String, Set, GetDataRule) DataManagerImpl.java:72 com.intellij.openapi.actionSystem.impl.PreCachedDataContext.getData(String) PreCachedDataContext.java:126 com.intellij.openapi.actionSystem.DataContext.getData(DataKey) DataContext.java:42 com.intellij.openapi.actionSystem.impl.ActionUpdater.ensureSlowDataKeysPreCached() ActionUpdater.java:356 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$14(ProgressIndicator, ActionGroup, boolean, AsyncPromise) ActionUpdater.java:279 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1419.compute() com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$16(Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1427.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$17(ApplicationEx, Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1426.run() com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ApplicationEx, Runnable, Runnable) ProgressIndicatorUtils.java:161 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$18(ApplicationEx, AsyncPromise, Ref, Computable) ActionUpdater.java:301 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1423.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(Disposable, Runnable, ProgressIndicator) BackgroundTaskUtil.java:270 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$19(ComponentManager, AsyncPromise, Ref, Computable, ProgressIndicator) ActionUpdater.java:300 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1421.run() com.intellij.codeWithMe.ClientId$Companion.withClientId(ClientId, Runnable) ClientId.kt:135 com.intellij.codeWithMe.ClientId.withClientId(ClientId, Runnable) ClientId.kt com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$20(ClientId, ComponentManager, AsyncPromise, Computable, ProgressIndicator) ActionUpdater.java:298 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1420.run() com.intellij.util.concurrency.BoundedTaskExecutor.doRun(Runnable) BoundedTaskExecutor.java:216 com.intellij.util.concurrency.BoundedTaskExecutor.access$200(Runnable) BoundedTaskExecutor.java:27 com.intellij.util.concurrency.BoundedTaskExecutor$1.execute() BoundedTaskExecutor.java:195 com.intellij.util.concurrency.BoundedTaskExecutor$1$$Lambda$702.run() com.intellij.util.ConcurrencyUtil.runUnderThreadName(String, Runnable) ConcurrencyUtil.java:213 com.intellij.util.concurrency.BoundedTaskExecutor$1.run() BoundedTaskExecutor.java:184 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1128 java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:628 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:668 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:665 java.security.AccessController.doPrivileged(PrivilegedAction, AccessControlContext) AccessController.java (native) java.util.concurrent.Executors$PrivilegedThreadFactory$1.run() Executors.java:665 java.lang.Thread.run() Thread.java:829

    com.intellij.psi.impl.compiled.ClsElementImpl.isValid() ClsElementImpl.java com.intellij.psi.impl.source.PsiClassReferenceType.resolveGenerics() PsiClassReferenceType.java:171 com.intellij.psi.impl.source.PsiClassReferenceType.resolve() PsiClassReferenceType.java:121 com.intellij.psi.util.PsiTypesUtil.getPsiClass(PsiType) PsiTypesUtil.java:144 manifold.ij.extensions.ManJavaResolveCache.getBinaryType(String, PsiType, PsiType, PsiExpression) ManJavaResolveCache.java:220 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:162 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.core.ManPsiBinaryExpressionImpl.isOverloaded() ManPsiBinaryExpressionImpl.java:50 manifold.ij.core.ManPsiBinaryExpressionImpl.getReference() ManPsiBinaryExpressionImpl.java:56 com.intellij.psi.impl.SharedPsiElementImplUtil.getReferences(PsiElement) SharedPsiElementImplUtil.java:76 com.intellij.psi.impl.source.tree.CompositePsiElement.getReferences() CompositePsiElement.java:144 com.intellij.psi.PsiReferenceServiceImpl.doGetReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:39 com.intellij.psi.PsiReferenceServiceImpl.getReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:26 com.intellij.psi.search.SingleTargetRequestResultProcessor.processTextOccurrence(PsiElement, int, Processor) SingleTargetRequestResultProcessor.java:32 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.lambda$execute$0(boolean, RequestResultProcessor, Processor, PsiElement, int) PsiSearchHelperImpl.java:952 com.intellij.psi.impl.search.PsiSearchHelperImpl$5$$Lambda$5438.execute(PsiElement, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processTreeUp(Project, PsiElement, ASTNode, int, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor) LowLevelSearchUtil.java:88 com.intellij.psi.impl.search.LowLevelSearchUtil.lambda$processElementsAtOffsets$0(Project, PsiElement, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor, ASTNode, int) LowLevelSearchUtil.java:179 com.intellij.psi.impl.search.LowLevelSearchUtil$$Lambda$5104.execute(ASTNode, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processOffsets(ASTNode, int[], ProgressIndicator, LowLevelSearchUtil$NodeTextOccurrenceProcessor) LowLevelSearchUtil.java:205 com.intellij.psi.impl.search.LowLevelSearchUtil.processElementsAtOffsets(PsiElement, StringSearcher, boolean, ProgressIndicator, int[], TextOccurenceProcessor) LowLevelSearchUtil.java:178 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.execute(PsiElement, int[], StringSearcher) PsiSearchHelperImpl.java:948 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(PsiElement) PsiSearchHelperImpl.java:273 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(Object) PsiSearchHelperImpl.java:264 com.intellij.openapi.application.ReadActionProcessor.lambda$process$0(Object) ReadActionProcessor.java:11 com.intellij.openapi.application.ReadActionProcessor$$Lambda$4569.compute() com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ThrowableComputable) ApplicationImpl.java:854 com.intellij.openapi.application.ReadAction.compute(ThrowableComputable) ReadAction.java:61 com.intellij.openapi.application.ReadActionProcessor.process(Object) ReadActionProcessor.java:11 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processCandidates$17(Map, Map, PsiFile) PsiSearchHelperImpl.java:909 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5418.process(Object) com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processVirtualFile$10(VirtualFile, Processor, AtomicBoolean) PsiSearchHelperImpl.java:545 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5437.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.psi.impl.search.PsiSearchHelperImpl.processVirtualFile(VirtualFile, AtomicBoolean, Processor) PsiSearchHelperImpl.java:524 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processPsiFileRoots$7(ProgressIndicator, AtomicBoolean, Processor, ProgressIndicator, AtomicInteger, int, VirtualFile) PsiSearchHelperImpl.java:393 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5423.process(Object) com.intellij.util.containers.ContainerUtil.process(List, Processor) ContainerUtil.java:800 com.intellij.psi.impl.search.PsiSearchHelperImpl.processFilesConcurrentlyDespiteWriteActions(Project, List, ProgressIndicator, AtomicBoolean, Processor) PsiSearchHelperImpl.java:444 com.intellij.psi.impl.search.PsiSearchHelperImpl.processPsiFileRoots(List, int, int, ProgressIndicator, Processor) PsiSearchHelperImpl.java:390 com.intellij.psi.impl.search.PsiSearchHelperImpl.processCandidates(Map, Map, ProgressIndicator, int, int) PsiSearchHelperImpl.java:904 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequests(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:888 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequestsOptimized(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:840 com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(SearchRequestCollector, Processor) PsiSearchHelperImpl.java:765 com.intellij.psi.search.SearchRequestQuery.processResults(Processor) SearchRequestQuery.java:24 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.MergeQuery.processResults(Processor) MergeQuery.java:22 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.UniqueResultsQuery.processResults(Processor) UniqueResultsQuery.java:39 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.forEach(Processor) AbstractQuery.java:83 com.intellij.util.AbstractQuery.findAll() AbstractQuery.java:28 manifold.ij.extensions.ResourceToManifoldUtil.lambda$searchForElement$4(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil$$Lambda$5050.compute() com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(Ref, Computable) ProgressManager.java:57 com.intellij.openapi.progress.ProgressManager$$Lambda$878.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.ProgressManager.runProcess(Computable, ProgressIndicator) ProgressManager.java:57 manifold.ij.extensions.ResourceToManifoldUtil.searchForElement(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement, Set) ResourceToManifoldUtil.java:203 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement) ResourceToManifoldUtil.java:120 manifold.ij.extensions.ManifoldFindUsagesHandlerFactory.canFindUsages(PsiElement) ManifoldFindUsagesHandlerFactory.java:41 com.intellij.find.findUsages.FindUsagesManager.canFindUsages(PsiElement) FindUsagesManager.java:102 com.intellij.find.impl.FindManagerImpl.canFindUsages(PsiElement) FindManagerImpl.java:902 com.intellij.find.findUsages.DefaultUsageTargetProvider.getTargets(PsiElement) DefaultUsageTargetProvider.java:16 com.intellij.usages.UsageTargetUtil.findUsageTargets(PsiElement) UsageTargetUtil.java:51 com.intellij.usages.UsageTargetUtil.findUsageTargets(DataProvider) UsageTargetUtil.java:32 com.intellij.ide.impl.dataRules.UsageTargetsRule.getData(DataProvider) UsageTargetsRule.java:13 com.intellij.ide.impl.DataManagerImpl.getRulesData(String, List, DataProvider) DataManagerImpl.java:124 com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(GetDataRule, List, String, List, DataProvider) DataManagerImpl.java:112 com.intellij.ide.impl.DataManagerImpl$$Lambda$1442.getData(DataProvider) com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataProvider, String, Set, GetDataRule) DataManagerImpl.java:72 com.intellij.openapi.actionSystem.impl.PreCachedDataContext.getData(String) PreCachedDataContext.java:126 com.intellij.openapi.actionSystem.DataContext.getData(DataKey) DataContext.java:42 com.intellij.openapi.actionSystem.impl.ActionUpdater.ensureSlowDataKeysPreCached() ActionUpdater.java:356 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$14(ProgressIndicator, ActionGroup, boolean, AsyncPromise) ActionUpdater.java:279 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1419.compute() com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$16(Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1427.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$17(ApplicationEx, Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1426.run() com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ApplicationEx, Runnable, Runnable) ProgressIndicatorUtils.java:161 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$18(ApplicationEx, AsyncPromise, Ref, Computable) ActionUpdater.java:301 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1423.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(Disposable, Runnable, ProgressIndicator) BackgroundTaskUtil.java:270 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$19(ComponentManager, AsyncPromise, Ref, Computable, ProgressIndicator) ActionUpdater.java:300 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1421.run() com.intellij.codeWithMe.ClientId$Companion.withClientId(ClientId, Runnable) ClientId.kt:135 com.intellij.codeWithMe.ClientId.withClientId(ClientId, Runnable) ClientId.kt com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$20(ClientId, ComponentManager, AsyncPromise, Computable, ProgressIndicator) ActionUpdater.java:298 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1420.run() com.intellij.util.concurrency.BoundedTaskExecutor.doRun(Runnable) BoundedTaskExecutor.java:216 com.intellij.util.concurrency.BoundedTaskExecutor.access$200(Runnable) BoundedTaskExecutor.java:27 com.intellij.util.concurrency.BoundedTaskExecutor$1.execute() BoundedTaskExecutor.java:195 com.intellij.util.concurrency.BoundedTaskExecutor$1$$Lambda$702.run() com.intellij.util.ConcurrencyUtil.runUnderThreadName(String, Runnable) ConcurrencyUtil.java:213 com.intellij.util.concurrency.BoundedTaskExecutor$1.run() BoundedTaskExecutor.java:184 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1128 java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:628 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:668 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:665 java.security.AccessController.doPrivileged(PrivilegedAction, AccessControlContext) AccessController.java (native) java.util.concurrent.Executors$PrivilegedThreadFactory$1.run() Executors.java:665 java.lang.Thread.run() Thread.java:829

    com.intellij.psi.stubs.StubList.findChildStubByType(IStubElementType, IntUnaryOperator, int, int) StubList.java com.intellij.psi.stubs.StubList.findChildStubByType(int, IStubElementType) StubList.java:176 com.intellij.psi.stubs.StubBase.findChildStubByType(IStubElementType) StubBase.java:45 com.intellij.psi.impl.compiled.ClsMethodImpl.getParameterList() ClsMethodImpl.java:130 manifold.ij.extensions.ManJavaResolveCache.getBinaryOperationReturnType(String, PsiType, PsiType, PsiMethod[], PsiExpression) ManJavaResolveCache.java:317 manifold.ij.extensions.ManJavaResolveCache.getBinaryType(String, PsiType, PsiType, PsiExpression) ManJavaResolveCache.java:225 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:165 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.core.ManPsiBinaryExpressionImpl.isOverloaded() ManPsiBinaryExpressionImpl.java:50 manifold.ij.core.ManPsiBinaryExpressionImpl.getReference() ManPsiBinaryExpressionImpl.java:56 com.intellij.psi.impl.SharedPsiElementImplUtil.getReferences(PsiElement) SharedPsiElementImplUtil.java:76 com.intellij.psi.impl.source.tree.CompositePsiElement.getReferences() CompositePsiElement.java:144 com.intellij.psi.PsiReferenceServiceImpl.doGetReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:39 com.intellij.psi.PsiReferenceServiceImpl.getReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:26 com.intellij.psi.search.SingleTargetRequestResultProcessor.processTextOccurrence(PsiElement, int, Processor) SingleTargetRequestResultProcessor.java:32 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.lambda$execute$0(boolean, RequestResultProcessor, Processor, PsiElement, int) PsiSearchHelperImpl.java:952 com.intellij.psi.impl.search.PsiSearchHelperImpl$5$$Lambda$5438.execute(PsiElement, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processTreeUp(Project, PsiElement, ASTNode, int, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor) LowLevelSearchUtil.java:88 com.intellij.psi.impl.search.LowLevelSearchUtil.lambda$processElementsAtOffsets$0(Project, PsiElement, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor, ASTNode, int) LowLevelSearchUtil.java:179 com.intellij.psi.impl.search.LowLevelSearchUtil$$Lambda$5104.execute(ASTNode, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processOffsets(ASTNode, int[], ProgressIndicator, LowLevelSearchUtil$NodeTextOccurrenceProcessor) LowLevelSearchUtil.java:205 com.intellij.psi.impl.search.LowLevelSearchUtil.processElementsAtOffsets(PsiElement, StringSearcher, boolean, ProgressIndicator, int[], TextOccurenceProcessor) LowLevelSearchUtil.java:178 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.execute(PsiElement, int[], StringSearcher) PsiSearchHelperImpl.java:948 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(PsiElement) PsiSearchHelperImpl.java:273 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(Object) PsiSearchHelperImpl.java:264 com.intellij.openapi.application.ReadActionProcessor.lambda$process$0(Object) ReadActionProcessor.java:11 com.intellij.openapi.application.ReadActionProcessor$$Lambda$4569.compute() com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ThrowableComputable) ApplicationImpl.java:854 com.intellij.openapi.application.ReadAction.compute(ThrowableComputable) ReadAction.java:61 com.intellij.openapi.application.ReadActionProcessor.process(Object) ReadActionProcessor.java:11 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processCandidates$17(Map, Map, PsiFile) PsiSearchHelperImpl.java:909 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5418.process(Object) com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processVirtualFile$10(VirtualFile, Processor, AtomicBoolean) PsiSearchHelperImpl.java:545 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5437.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.psi.impl.search.PsiSearchHelperImpl.processVirtualFile(VirtualFile, AtomicBoolean, Processor) PsiSearchHelperImpl.java:524 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processPsiFileRoots$7(ProgressIndicator, AtomicBoolean, Processor, ProgressIndicator, AtomicInteger, int, VirtualFile) PsiSearchHelperImpl.java:393 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5423.process(Object) com.intellij.util.containers.ContainerUtil.process(List, Processor) ContainerUtil.java:800 com.intellij.psi.impl.search.PsiSearchHelperImpl.processFilesConcurrentlyDespiteWriteActions(Project, List, ProgressIndicator, AtomicBoolean, Processor) PsiSearchHelperImpl.java:444 com.intellij.psi.impl.search.PsiSearchHelperImpl.processPsiFileRoots(List, int, int, ProgressIndicator, Processor) PsiSearchHelperImpl.java:390 com.intellij.psi.impl.search.PsiSearchHelperImpl.processCandidates(Map, Map, ProgressIndicator, int, int) PsiSearchHelperImpl.java:904 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequests(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:888 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequestsOptimized(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:840 com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(SearchRequestCollector, Processor) PsiSearchHelperImpl.java:765 com.intellij.psi.search.SearchRequestQuery.processResults(Processor) SearchRequestQuery.java:24 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.MergeQuery.processResults(Processor) MergeQuery.java:22 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.UniqueResultsQuery.processResults(Processor) UniqueResultsQuery.java:39 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.forEach(Processor) AbstractQuery.java:83 com.intellij.util.AbstractQuery.findAll() AbstractQuery.java:28 manifold.ij.extensions.ResourceToManifoldUtil.lambda$searchForElement$4(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil$$Lambda$5050.compute() com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(Ref, Computable) ProgressManager.java:57 com.intellij.openapi.progress.ProgressManager$$Lambda$878.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.ProgressManager.runProcess(Computable, ProgressIndicator) ProgressManager.java:57 manifold.ij.extensions.ResourceToManifoldUtil.searchForElement(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement, Set) ResourceToManifoldUtil.java:203 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement) ResourceToManifoldUtil.java:120 manifold.ij.extensions.ManifoldFindUsagesHandlerFactory.canFindUsages(PsiElement) ManifoldFindUsagesHandlerFactory.java:41 com.intellij.find.findUsages.FindUsagesManager.canFindUsages(PsiElement) FindUsagesManager.java:102 com.intellij.find.impl.FindManagerImpl.canFindUsages(PsiElement) FindManagerImpl.java:902 com.intellij.find.findUsages.DefaultUsageTargetProvider.getTargets(PsiElement) DefaultUsageTargetProvider.java:16 com.intellij.usages.UsageTargetUtil.findUsageTargets(PsiElement) UsageTargetUtil.java:51 com.intellij.usages.UsageTargetUtil.findUsageTargets(DataProvider) UsageTargetUtil.java:32 com.intellij.ide.impl.dataRules.UsageTargetsRule.getData(DataProvider) UsageTargetsRule.java:13 com.intellij.ide.impl.DataManagerImpl.getRulesData(String, List, DataProvider) DataManagerImpl.java:124 com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(GetDataRule, List, String, List, DataProvider) DataManagerImpl.java:112 com.intellij.ide.impl.DataManagerImpl$$Lambda$1442.getData(DataProvider) com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataProvider, String, Set, GetDataRule) DataManagerImpl.java:72 com.intellij.openapi.actionSystem.impl.PreCachedDataContext.getData(String) PreCachedDataContext.java:126 com.intellij.openapi.actionSystem.DataContext.getData(DataKey) DataContext.java:42 com.intellij.openapi.actionSystem.impl.ActionUpdater.ensureSlowDataKeysPreCached() ActionUpdater.java:356 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$14(ProgressIndicator, ActionGroup, boolean, AsyncPromise) ActionUpdater.java:279 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1419.compute() com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$16(Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1427.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$17(ApplicationEx, Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1426.run() com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ApplicationEx, Runnable, Runnable) ProgressIndicatorUtils.java:161 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$18(ApplicationEx, AsyncPromise, Ref, Computable) ActionUpdater.java:301 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1423.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(Disposable, Runnable, ProgressIndicator) BackgroundTaskUtil.java:270 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$19(ComponentManager, AsyncPromise, Ref, Computable, ProgressIndicator) ActionUpdater.java:300 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1421.run() com.intellij.codeWithMe.ClientId$Companion.withClientId(ClientId, Runnable) ClientId.kt:135 com.intellij.codeWithMe.ClientId.withClientId(ClientId, Runnable) ClientId.kt com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$20(ClientId, ComponentManager, AsyncPromise, Computable, ProgressIndicator) ActionUpdater.java:298 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1420.run() com.intellij.util.concurrency.BoundedTaskExecutor.doRun(Runnable) BoundedTaskExecutor.java:216 com.intellij.util.concurrency.BoundedTaskExecutor.access$200(Runnable) BoundedTaskExecutor.java:27 com.intellij.util.concurrency.BoundedTaskExecutor$1.execute() BoundedTaskExecutor.java:195 com.intellij.util.concurrency.BoundedTaskExecutor$1$$Lambda$702.run() com.intellij.util.ConcurrencyUtil.runUnderThreadName(String, Runnable) ConcurrencyUtil.java:213 com.intellij.util.concurrency.BoundedTaskExecutor$1.run() BoundedTaskExecutor.java:184 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1128 java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:628 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:668 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:665 java.security.AccessController.doPrivileged(PrivilegedAction, AccessControlContext) AccessController.java (native) java.util.concurrent.Executors$PrivilegedThreadFactory$1.run() Executors.java:665 java.lang.Thread.run() Thread.java:829

    com.intellij.psi.stubs.StubBase.getChildrenStubs() StubBase.java com.intellij.psi.impl.compiled.ClsParameterListImpl.getParametersCount() ClsParameterListImpl.java:50 manifold.ij.extensions.ManJavaResolveCache.getBinaryOperationReturnType(String, PsiType, PsiType, PsiMethod[], PsiExpression) ManJavaResolveCache.java:317 manifold.ij.extensions.ManJavaResolveCache.getBinaryType(String, PsiType, PsiType, PsiExpression) ManJavaResolveCache.java:225 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:162 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.extensions.ManJavaResolveCache.getTypeForOverloadedBinaryOperator(PsiExpression) ManJavaResolveCache.java:140 manifold.ij.extensions.ManJavaResolveCache.getType(PsiExpression, Function) ManJavaResolveCache.java:77 com.intellij.psi.impl.source.tree.java.PsiBinaryExpressionImpl.getType() PsiBinaryExpressionImpl.java:90 manifold.ij.core.ManPsiBinaryExpressionImpl.isOverloaded() ManPsiBinaryExpressionImpl.java:50 manifold.ij.core.ManPsiBinaryExpressionImpl.getReference() ManPsiBinaryExpressionImpl.java:56 com.intellij.psi.impl.SharedPsiElementImplUtil.getReferences(PsiElement) SharedPsiElementImplUtil.java:76 com.intellij.psi.impl.source.tree.CompositePsiElement.getReferences() CompositePsiElement.java:144 com.intellij.psi.PsiReferenceServiceImpl.doGetReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:39 com.intellij.psi.PsiReferenceServiceImpl.getReferences(PsiElement, PsiReferenceService$Hints) PsiReferenceServiceImpl.java:26 com.intellij.psi.search.SingleTargetRequestResultProcessor.processTextOccurrence(PsiElement, int, Processor) SingleTargetRequestResultProcessor.java:32 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.lambda$execute$0(boolean, RequestResultProcessor, Processor, PsiElement, int) PsiSearchHelperImpl.java:952 com.intellij.psi.impl.search.PsiSearchHelperImpl$5$$Lambda$5438.execute(PsiElement, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processTreeUp(Project, PsiElement, ASTNode, int, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor) LowLevelSearchUtil.java:88 com.intellij.psi.impl.search.LowLevelSearchUtil.lambda$processElementsAtOffsets$0(Project, PsiElement, StringSearcher, boolean, ProgressIndicator, TextOccurenceProcessor, ASTNode, int) LowLevelSearchUtil.java:179 com.intellij.psi.impl.search.LowLevelSearchUtil$$Lambda$5104.execute(ASTNode, int) com.intellij.psi.impl.search.LowLevelSearchUtil.processOffsets(ASTNode, int[], ProgressIndicator, LowLevelSearchUtil$NodeTextOccurrenceProcessor) LowLevelSearchUtil.java:205 com.intellij.psi.impl.search.LowLevelSearchUtil.processElementsAtOffsets(PsiElement, StringSearcher, boolean, ProgressIndicator, int[], TextOccurenceProcessor) LowLevelSearchUtil.java:178 com.intellij.psi.impl.search.PsiSearchHelperImpl$5.execute(PsiElement, int[], StringSearcher) PsiSearchHelperImpl.java:948 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(PsiElement) PsiSearchHelperImpl.java:273 com.intellij.psi.impl.search.PsiSearchHelperImpl$2.processInReadAction(Object) PsiSearchHelperImpl.java:264 com.intellij.openapi.application.ReadActionProcessor.lambda$process$0(Object) ReadActionProcessor.java:11 com.intellij.openapi.application.ReadActionProcessor$$Lambda$4569.compute() com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ThrowableComputable) ApplicationImpl.java:854 com.intellij.openapi.application.ReadAction.compute(ThrowableComputable) ReadAction.java:61 com.intellij.openapi.application.ReadActionProcessor.process(Object) ReadActionProcessor.java:11 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processCandidates$17(Map, Map, PsiFile) PsiSearchHelperImpl.java:909 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5418.process(Object) com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processVirtualFile$10(VirtualFile, Processor, AtomicBoolean) PsiSearchHelperImpl.java:545 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5437.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.psi.impl.search.PsiSearchHelperImpl.processVirtualFile(VirtualFile, AtomicBoolean, Processor) PsiSearchHelperImpl.java:524 com.intellij.psi.impl.search.PsiSearchHelperImpl.lambda$processPsiFileRoots$7(ProgressIndicator, AtomicBoolean, Processor, ProgressIndicator, AtomicInteger, int, VirtualFile) PsiSearchHelperImpl.java:393 com.intellij.psi.impl.search.PsiSearchHelperImpl$$Lambda$5423.process(Object) com.intellij.util.containers.ContainerUtil.process(List, Processor) ContainerUtil.java:800 com.intellij.psi.impl.search.PsiSearchHelperImpl.processFilesConcurrentlyDespiteWriteActions(Project, List, ProgressIndicator, AtomicBoolean, Processor) PsiSearchHelperImpl.java:444 com.intellij.psi.impl.search.PsiSearchHelperImpl.processPsiFileRoots(List, int, int, ProgressIndicator, Processor) PsiSearchHelperImpl.java:390 com.intellij.psi.impl.search.PsiSearchHelperImpl.processCandidates(Map, Map, ProgressIndicator, int, int) PsiSearchHelperImpl.java:904 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequests(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:888 com.intellij.psi.impl.search.PsiSearchHelperImpl.processGlobalRequestsOptimized(Map, ProgressIndicator, Map) PsiSearchHelperImpl.java:840 com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(SearchRequestCollector, Processor) PsiSearchHelperImpl.java:765 com.intellij.psi.search.SearchRequestQuery.processResults(Processor) SearchRequestQuery.java:24 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.MergeQuery.processResults(Processor) MergeQuery.java:22 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.delegateProcessResults(Query, Processor) AbstractQuery.java:108 com.intellij.util.UniqueResultsQuery.processResults(Processor) UniqueResultsQuery.java:39 com.intellij.util.AbstractQuery.doProcessResults(Processor) AbstractQuery.java:91 com.intellij.util.AbstractQuery.forEach(Processor) AbstractQuery.java:83 com.intellij.util.AbstractQuery.findAll() AbstractQuery.java:28 manifold.ij.extensions.ResourceToManifoldUtil.lambda$searchForElement$4(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil$$Lambda$5050.compute() com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(Ref, Computable) ProgressManager.java:57 com.intellij.openapi.progress.ProgressManager$$Lambda$878.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.ProgressManager.runProcess(Computable, ProgressIndicator) ProgressManager.java:57 manifold.ij.extensions.ResourceToManifoldUtil.searchForElement(Query) ResourceToManifoldUtil.java:275 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement, Set) ResourceToManifoldUtil.java:203 manifold.ij.extensions.ResourceToManifoldUtil.findJavaElementsFor(PsiElement) ResourceToManifoldUtil.java:120 manifold.ij.extensions.ManifoldFindUsagesHandlerFactory.canFindUsages(PsiElement) ManifoldFindUsagesHandlerFactory.java:41 com.intellij.find.findUsages.FindUsagesManager.canFindUsages(PsiElement) FindUsagesManager.java:102 com.intellij.find.impl.FindManagerImpl.canFindUsages(PsiElement) FindManagerImpl.java:902 com.intellij.find.findUsages.DefaultUsageTargetProvider.getTargets(PsiElement) DefaultUsageTargetProvider.java:16 com.intellij.usages.UsageTargetUtil.findUsageTargets(PsiElement) UsageTargetUtil.java:51 com.intellij.usages.UsageTargetUtil.findUsageTargets(DataProvider) UsageTargetUtil.java:32 com.intellij.ide.impl.dataRules.UsageTargetsRule.getData(DataProvider) UsageTargetsRule.java:13 com.intellij.ide.impl.DataManagerImpl.getRulesData(String, List, DataProvider) DataManagerImpl.java:124 com.intellij.ide.impl.DataManagerImpl.lambda$getDataRule$4(GetDataRule, List, String, List, DataProvider) DataManagerImpl.java:112 com.intellij.ide.impl.DataManagerImpl$$Lambda$1442.getData(DataProvider) com.intellij.ide.impl.DataManagerImpl.getDataFromProvider(DataProvider, String, Set, GetDataRule) DataManagerImpl.java:72 com.intellij.openapi.actionSystem.impl.PreCachedDataContext.getData(String) PreCachedDataContext.java:126 com.intellij.openapi.actionSystem.DataContext.getData(DataKey) DataContext.java:42 com.intellij.openapi.actionSystem.impl.ActionUpdater.ensureSlowDataKeysPreCached() ActionUpdater.java:356 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$14(ProgressIndicator, ActionGroup, boolean, AsyncPromise) ActionUpdater.java:279 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1419.compute() com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$16(Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1427.run() com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(Runnable) ApplicationImpl.java:1078 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$17(ApplicationEx, Ref, Computable) ActionUpdater.java:305 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1426.run() com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ApplicationEx, Runnable, Runnable) ProgressIndicatorUtils.java:161 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$18(ApplicationEx, AsyncPromise, Ref, Computable) ActionUpdater.java:301 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1423.run() com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(ProgressIndicator, Runnable) CoreProgressManager.java:183 com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$486.run() com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(ProgressIndicator, Thread, ProgressIndicator, Runnable) CoreProgressManager.java:705 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(Runnable, ProgressIndicator) CoreProgressManager.java:647 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(Runnable, ProgressIndicator) ProgressManagerImpl.java:63 com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(Runnable, ProgressIndicator) CoreProgressManager.java:170 com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(Disposable, Runnable, ProgressIndicator) BackgroundTaskUtil.java:270 com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$19(ComponentManager, AsyncPromise, Ref, Computable, ProgressIndicator) ActionUpdater.java:300 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1421.run() com.intellij.codeWithMe.ClientId$Companion.withClientId(ClientId, Runnable) ClientId.kt:135 com.intellij.codeWithMe.ClientId.withClientId(ClientId, Runnable) ClientId.kt com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupAsync$20(ClientId, ComponentManager, AsyncPromise, Computable, ProgressIndicator) ActionUpdater.java:298 com.intellij.openapi.actionSystem.impl.ActionUpdater$$Lambda$1420.run() com.intellij.util.concurrency.BoundedTaskExecutor.doRun(Runnable) BoundedTaskExecutor.java:216 com.intellij.util.concurrency.BoundedTaskExecutor.access$200(Runnable) BoundedTaskExecutor.java:27 com.intellij.util.concurrency.BoundedTaskExecutor$1.execute() BoundedTaskExecutor.java:195 com.intellij.util.concurrency.BoundedTaskExecutor$1$$Lambda$702.run() com.intellij.util.ConcurrencyUtil.runUnderThreadName(String, Runnable) ConcurrencyUtil.java:213 com.intellij.util.concurrency.BoundedTaskExecutor$1.run() BoundedTaskExecutor.java:184 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1128 java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:628 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:668 java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run() Executors.java:665 java.security.AccessController.doPrivileged(PrivilegedAction, AccessControlContext) AccessController.java (native) java.util.concurrent.Executors$PrivilegedThreadFactory$1.run() Executors.java:665 java.lang.Thread.run() Thread.java:829

    IntelliJ Plugin 
    opened by bluelu 16
  • compiler message file broken: key=compiler.misc.msg.bug arguments=11.0.11, {1}, {2}, {3}, {4}, {5}, {6}, {7}

    compiler message file broken: key=compiler.misc.msg.bug arguments=11.0.11, {1}, {2}, {3}, {4}, {5}, {6}, {7}

    Describe the bug See https://github.com/PistonMinecraft/Piston-PluginAPI/runs/2432121082?check_suite_focus=true

    To Reproduce Steps to reproduce the behavior: 1.Run gradlew build in the project in the description above

    Expected behavior Compile successfully

    Screenshots If applicable, add screenshots to help explain your problem (drag/drop them here).

    Desktop (please complete the following information):

    • OS Type & Version: ubuntu-latest on GitHub Actions. Windows 10 x64 on my personal computer(both failed)
    • Java/JDK version: JDK 11.0.11
    • IDE version (IntelliJ IDEA or Android Studio): 2021.1
    • Manifold version: 2021.1.11
    • Manifold IntelliJ plugin version: 2021.1.10

    Additional context Add any other context about the problem here.

    Stack trace Please include a stack trace if applicable

    opened by XiaoPangxie732 15
  • Uncompilable source code

    Uncompilable source code

    • I try to create an extension but no luck
    • maven:
    <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>                
            <manifold.version>2020.1.41</manifold.version>            
    </properties>
    <dependency>
                <groupId>systems.manifold</groupId>
                <artifactId>manifold-ext-rt</artifactId>
                <version>${manifold.version}</version>
     </dependency> 
    ...
    
    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                    <configuration>
                        <source>${maven.compiler.source}</source>
                        <target>${maven.compiler.target}</target>
                        <encoding>UTF-8</encoding>
                        <compilerArgs>
                            <!-- Configure manifold plugin-->
                            <arg>-Xplugin:Manifold</arg>
                        </compilerArgs>
                        <!-- Add the processor path for the plugin -->
                        <annotationProcessorPaths>
                            <path>
                                <groupId>systems.manifold</groupId>
                                <artifactId>manifold-ext-rt</artifactId>
                                <version>${manifold.version}</version>
                            </path>
                        </annotationProcessorPaths>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    • source Org:
    public class Org {
        Integer id;
        String name;
    
        @Override
        public String toString() {
            return "Org{" + "id=" + id + ", name=" + name + '}';
        }    
    }
    
    • source ext:
    @Extension
    public class MyOrgExt {   
        public static void echo(@This Org thiz) {
            System.out.println(thiz);
        }
    }    
    
    • using it:
    public class MainManifold {    
        public static void main(String[] args) {
            Org org = new Org();
            org.echo();
        }
    }
    
    • error:
    Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: model.Org.echo
    	at manifold.MainManifold.main(MainManifold.java:13)
    
    
    opened by sysmat 14
  • Enum's without default constructor can't be extended

    Enum's without default constructor can't be extended

    Describe the bug Given this ugly file: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse/src/main/java/org/bukkit/Material.java Simply trying to start the stub of extensions like this:

    package EMC.extensions.org.bukkit.Material;
    import manifold.ext.api.Extension;
    @Extension
    public class MaterialExtensions {}
    

    I can no longer compile as I get this error: https://gist.github.com/aikar/9beca78a2fa7b6f9abc774aec31bdb45

    Deleting the empty extension file fixes the issue. but I am prevented from extending this class.

    Same issue happens to me on World.java here too: https://gist.github.com/aikar/ac868af870375dca458d84ff2a32007c

    Expected behavior No errors

    OS Type & Version: Linux Mint 19 Java/JDK version: 1.8.0_191 IntelliJ IDEA version: 2019.1 Maven Compiler Plugin 3.7.0 Manifold version: RELEASE Manifold IntelliJ plugin version: .55 alpha

    -Xplugin:Manifold strings

    Relevant context: Lombok is also in use - but other Extensions work. Just specific classes giving trouble.

    bug 
    opened by aikar 13
  • Jailbreak functionality not working

    Jailbreak functionality not working

    Hello. I have followed the set up instructions for Maven and Java 8 to the letter but it is not working.

    [x] Add manifold-all dependency -> YES [x] Configure the maven-compiler-plugin -> YES [x] Add tools.jar dependency -> YES (tried as profile and within dependencies)

    I am using the @Jailbreak annotation on a class with a private field. When I try and access this field later I am still seeing compile error "privateField has private access in com.example.MyClass". Also trying myClassInstance.jailbreak().myPrivateMethod() is saying "Cannot resolve method 'jailbreak()'".

    Any ideas as to what I'm missing?

    opened by ciaranodc 12
  • Cannot get it working - error: cannot find symbol

    Cannot get it working - error: cannot find symbol

    Hello,

    I'm really glad I've discovered this amazing project, but I'm running into a weird error with manifold and I cannot get it working at all. The project is a multi-module Gradle setup and I'm using manifold version 2022.1.9

    TestCsv.csv

    a  ,b  ,c
    bla,bli,blub
    
        @Test
        void calculate() {
            TestCsv test = TestCsv.fromSource();
    
            for (TestCsv.TestCsvItem testCsvItem : test) {
                System.out.println(testCsvItem.getA__());
            }
        }
    

    root build.gradke

    buildscript {
        repositories {
            maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
            maven { url 'https://plugins.gradle.org/m2/' }
        }
        dependencies {
            classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0'
        }
    }
    
    
    plugins {
        id 'io.spring.dependency-management' version "${springDependencyManagementVersion}"
        id 'systems.manifold.manifold-gradle-plugin' version '0.0.2-alpha'
        id 'org.springframework.boot' version "${springVersion}"
    }
    
    subprojects {
    
        apply plugin: 'java'
        apply plugin: 'idea'
        apply plugin: 'com.adarshr.test-logger'
        apply plugin: 'io.spring.dependency-management'
    
        sourceCompatibility = '11'
        targetCompatibility = '11'
    
        compileJava.options.encoding = 'UTF-8'
        compileTestJava.options.encoding = 'UTF-8'
    
        test {
            useJUnitPlatform()
        }
    
        tasks.withType(JavaCompile) {
            options.compilerArgs += ['-Xplugin:Manifold']
        }
    
        dependencies {
    
            implementation "systems.manifold:manifold-csv-rt:${manifoldVersion}"
            implementation "systems.manifold:manifold-ext:${manifoldVersion}"
            implementation "systems.manifold:manifold-science:${manifoldVersion}"
    
            testImplementation "systems.manifold:manifold-csv-rt:${manifoldVersion}"
            testImplementation "systems.manifold:manifold-ext:${manifoldVersion}"
            testImplementation "systems.manifold:manifold-science:${manifoldVersion}"
    
            annotationProcessor "systems.manifold:manifold-csv:${manifoldVersion}"
            testAnnotationProcessor "systems.manifold:manifold-csv:${manifoldVersion}"
        }
    
        configurations {
            all {
                //noinspection GroovyAssignabilityCheck
                exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
            }
    
            // give tests access to annotationProcessor dependencies
            testImplementation.extendsFrom annotationProcessor
        }
    
    }
    

    Leads to this error

    Error compiling Java class: test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv
    
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:3: error: test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv is not abstract and does not override abstract method remove(int) in java.util.List
    public class java_util_ArrayList_structuralproxy_test_carbon_TestCsv implements test.carbon.TestCsv {
           ^
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:16: error: remove(int) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv cannot implement remove(int) in manifold.ext.rt.api.IListBacked
      public java.lang.Object remove( int p0 ) {
                              ^
      return type java.lang.Object is not compatible with test.carbon.TestCsv.TestCsvItem
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:22: error: get(int) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv cannot implement get(int) in manifold.ext.rt.api.IListBacked
      public java.lang.Object get( int p0 ) {
                              ^
      return type java.lang.Object is not compatible with test.carbon.TestCsv.TestCsvItem
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:10: error: name clash: add(java.lang.Object) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv and add(test.carbon.TestCsv.TestCsvItem) in manifold.ext.rt.api.IListBacked have the same erasure, yet neither overrides the other
      public boolean add( java.lang.Object p0 ) {
                     ^
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:13: error: name clash: add(int,java.lang.Object) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv and add(int,test.carbon.TestCsv.TestCsvItem) in manifold.ext.rt.api.IListBacked have the same erasure, yet neither overrides the other
      public void add( int p0, java.lang.Object p1 ) {
                  ^
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:70: error: name clash: set(int,java.lang.Object) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv and set(int,test.carbon.TestCsv.TestCsvItem) in manifold.ext.rt.api.IListBacked have the same erasure, yet neither overrides the other
      public java.lang.Object set( int p0, java.lang.Object p1 ) {
                              ^
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:101: error: cannot find symbol
        return (java.util.List)manifold.ext.rt.RuntimeMethods.coerce(_root.getList(), java.util.List.class);
                                                                          ^
      symbol:   method getList()
      location: variable _root of type java.util.ArrayList
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    
    manifold.internal.javac.JavaCompileIssuesException: Error compiling Java class: test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv
    
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:3: error: test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv is not abstract and does not override abstract method remove(int) in java.util.List
    public class java_util_ArrayList_structuralproxy_test_carbon_TestCsv implements test.carbon.TestCsv {
           ^
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:16: error: remove(int) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv cannot implement remove(int) in manifold.ext.rt.api.IListBacked
      public java.lang.Object remove( int p0 ) {
                              ^
      return type java.lang.Object is not compatible with test.carbon.TestCsv.TestCsvItem
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:22: error: get(int) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv cannot implement get(int) in manifold.ext.rt.api.IListBacked
      public java.lang.Object get( int p0 ) {
                              ^
      return type java.lang.Object is not compatible with test.carbon.TestCsv.TestCsvItem
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:10: error: name clash: add(java.lang.Object) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv and add(test.carbon.TestCsv.TestCsvItem) in manifold.ext.rt.api.IListBacked have the same erasure, yet neither overrides the other
      public boolean add( java.lang.Object p0 ) {
                     ^
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:13: error: name clash: add(int,java.lang.Object) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv and add(int,test.carbon.TestCsv.TestCsvItem) in manifold.ext.rt.api.IListBacked have the same erasure, yet neither overrides the other
      public void add( int p0, java.lang.Object p1 ) {
                  ^
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:70: error: name clash: set(int,java.lang.Object) in test.carbon.java_util_ArrayList_structuralproxy_test_carbon_TestCsv and set(int,test.carbon.TestCsv.TestCsvItem) in manifold.ext.rt.api.IListBacked have the same erasure, yet neither overrides the other
      public java.lang.Object set( int p0, java.lang.Object p1 ) {
                              ^
    /test/carbon/java_util_ArrayList_structuralproxy_test_carbon_TestCsv.java:101: error: cannot find symbol
        return (java.util.List)manifold.ext.rt.RuntimeMethods.coerce(_root.getList(), java.util.List.class);
                                                                          ^
      symbol:   method getList()
      location: variable _root of type java.util.ArrayList
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    
    	at manifold.internal.runtime.protocols.ManClassesUrlConnection$LazyByteArrayInputStream.compileProxyClass(ManClassesUrlConnection.java:344)
    	at manifold.internal.runtime.protocols.ManClassesUrlConnection$LazyByteArrayInputStream.init(ManClassesUrlConnection.java:247)
    	at manifold.internal.runtime.protocols.ManClassesUrlConnection$LazyByteArrayInputStream.read(ManClassesUrlConnection.java:367)
    	at java.base/jdk.internal.loader.Resource.getBytes(Resource.java:124)
    	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:797)
    	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
    	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
    	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
    	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    	at java.base/java.lang.Class.forName0(Native Method)
    	at java.base/java.lang.Class.forName(Class.java:398)
    	at manifold.ext.StructuralTypeProxyGenerator.makeProxy(StructuralTypeProxyGenerator.java:65)
    	at manifold.ext.DynamicProxyFactory.makeProxyFactory(DynamicProxyFactory.java:58)
    	at manifold.ext.rt.RuntimeMethods.createProxy(RuntimeMethods.java:419)
    	at manifold.ext.rt.RuntimeMethods.createNewProxy(RuntimeMethods.java:391)
    	at manifold.ext.rt.RuntimeMethods.constructProxy(RuntimeMethods.java:67)
    	at com.myapplication.test.MyTest.calculate(MyTest.java:19)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688)
    	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
    	at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
    	at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
    	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
    	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:212)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:208)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:71)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
    	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
    	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:248)
    	at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$5(DefaultLauncher.java:211)
    	at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:226)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132)
    	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99)
    	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)
    	at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)
    	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
    	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
    	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
    	at com.sun.proxy.$Proxy2.stop(Unknown Source)
    	at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:133)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
    	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
    	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
    	at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
    	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    	at java.base/java.lang.Thread.run(Thread.java:834)
    
    

    Would appreciate any help.

    opened by mklueh 11
  • Language support for composition

    Language support for composition

    work in progress

    This is a proposal to add comprehensive language support for composition.

    Generally, interface composition should be favored over class inheritance, however Java's language support for it is quite weak. As a consequence, the tedium and error prone nature of writing and maintaining the quantities of boilerplate necessary to implement a compositional architecture has rendered it a bridge too far; it is is seldom used in real-world Java app dev. Therefore, adding language support to Java seems like a worthwhile project.

    Interface delegation

    Interface delegation is the primary component of compositional architecture. It should be a concise, declarative language construct to make it easy to compose a class with interfaces.

    interface Shape {
      int getSides();
      String getName();
    }
    
    @component class BasicShape implements Shape {
      private final int sides;
    
      public BasicShape(int sides) { this.sides = sides; }  
    
      public int getSides() { return sides; }
    
      public String getName() { return getSides() + " sided shape"; }
      . . .
    }
    
    public class Triangle implements Shape {
      @delegate Shape myShape = new BasicShape(3);
      . . .
    }
    

    Here we illustrate the following.

    • @component to declare BasicShape as a potential delegate for the Shape interface
    • @delegate to declare a delegation relationship where all the methods of an interface are automatically delegated to a component

    The nomenclature introduced here: Component - A class that implements one or more interfaces for use in compositional design. Delegate - A compositional element of a class that delegates interface implementation to a component class.

    Restrictions on component classes and delegates are detailed in the next section.

    The self problem

    Beyond interface delegation, another critical aspect of compositional design must be accounted for: the self problem. For instance, a language feature for interface delegation should not only alleviate the tedium and risk of boilerplate, but it should also provide the coupling necessary so that the delegating class can override interface methods such that interface method calls from or on the component instance automatically dispatch to the delegating instance. This requirement entails the following restrictions on component class definition.

    1. A delegate may not be referenced as anything more than Object and the interfaces it implements.

    As such, this references within a component class definition must be replaced with references to the delegating class instance for interface method invocation, argument passing, and method return statements. This will be handled with AST processing.

    1. A component class constructor is invoked exclusively from a delegate declaration.

    This restriction is necessary not only given #1, but also to not burden the component class designer with use-cases outside the delegate one.

    1. A component class may extend only other component classes.

    Otherwise, the super class' this references defy #1. Note, a stricter rule would prohibit class inheritance altogether. But forcing a purely compositional design may be impractical, particularly within Java's class inheritance world.

    public interface Shape {
      int getSides();
      String getName();
      . . .
    }
    
    @component class BasicShape implements Shape {
      private final int sides;
    
      public BasicShape(int sides) { this.sides = sides; }  
    
      public int getSides() { return sides; }
    
      public String getName() { return getSides() + " sided shape"; }
    
      . . .
    
      private void printName() {
        out.println(this);
      }
      private void printName2() {
        out.println(getName());
      }
     
      public String toString() { return getName(); }
    }
    
    public class Triangle implements Shape {
      @delegate Shape myShape = new BasicShape(3);
      
      public String getName() {
        return "Triangle";
      }
    }
    

    Following the preceding criteria, both printName() and printName2() must print "Triangle". This will be handled by replacing implicit and explicit references to the component class' this with references to the delegating class instance where applicable.

    Other restrictions will be enforced by applying compiler errors as necessary.

    Further boilerplate reduction

    Since component class members require different accessibility defaults from normal classes, it may be worthwhile to support access modifier defaults that are more suitable for component classes. For instance, all members other than constructors and interface method overrides should default to private. Not having to read or write access modifiers adds up.

    enhancement 
    opened by rsmckinney 0
  • Template strings don't count towards usages

    Template strings don't count towards usages

    Describe the bug A template string doesn't count towards the usage of a variable when used inside of it.

    To Reproduce Steps to reproduce the behavior:

    1. Create a class with some string constants
    2. Use the constants from the class in string templates

    Expected behavior It should count towards the usage of the constants. The problematic thing here is that if you have an IDE setting like "Optimize imports", it will get rid of constant imports although it's used in the template string because it can't find any usages for it.

    Desktop (please complete the following information):

    • OS Type & Version: Windows 11 Pro
    • Java/JDK version: JetBrains Java Runtime 17.0.4
    • IDE version (IntelliJ IDEA or Android Studio): IDEA 2022.2.3
    • Manifold version: 2022.1.27
    • Manifold IntelliJ plugin version: 2022.2-1.5.21
    bug IntelliJ Plugin 
    opened by DAmNRelentless 7
  • instanceof does not work with @Structural

    instanceof does not work with @Structural

    Describe the bug I would expect the instanceof to return true if RelationalExpression belongs to a class implementing the methods declared in the @Structural ReferenceType (RelationalExpression and ReferenceType being the non-terminal symbol of the grammar as described here).

    To Reproduce Steps to reproduce the behavior:

    1. Declare a @Structural interface:
    @Structural interface Emptiable {
        boolean isEmpty();
    }
    
    1. Check if some objects are instances of the structural interface:
    boolean isListEmptiable = new ArrayList<>() instanceof Emptiable;
    boolean isIntegerEmptiable = ((Object) Integer.valueOf(1)) instanceof Emptiable; //the cast to Object is necessary to avoid a compile-time error
    

    Expected behavior I would expect isListEmptiable to be true and isIntegerEmptiable to be false, while at this moment both evaluate to true.

    Desktop:

    • OS Type & Version: Windows 10 21H2
    • Java/JDK version: Azul Zulu 11.0.10
    • IDE version (IntelliJ IDEA or Android Studio): IntelliJ IDEA 2022.1.3 Build #IU-221.5921.22
    • Manifold version: 2022.1.18
    • Manifold IntelliJ plugin version: 2022.1.19

    Additional context Maybe instanceof is not the correct tool to test wether an object structurally implements an interface. I think another tool, like a ad-hoc keyword, would still do the job, but being able to use instanceof seems more straightforward (unless I'm missing something).

    bug 
    opened by gscaparrotti 1
  • Suggestion: Class Aliases

    Suggestion: Class Aliases

    Concept - class aliases.

    1. Aliases for final classes are allowed
    2. Aliases can't affect base classes
    3. Alias types behave like different classes when you write code
    4. Alias types behave like base type in runtime
    5. Alias types still can have additional code (may be working like extensions do now)
    6. Any conversions between aliases of the same class should be explicit A a = new B() -> error and for example A a = new B().convertTo(A.class)

    Here is the most simple and obvious use case:

    method(String a, String b, String c, String d, String e, .....) It's very easy to make a mistake in parameters order - and all will go totally wrong.

    method(A a,B b, C c, D d, E e, .....) A bit more type safety - and you have show ball chance to break this call. Also code completion will be far more precise.

    Of cause that could be solved by wrappers:

    class A {
      String aValue;
    }
    

    But that decreases performance. And this is just first step of the dance. Others are to teach all (de)serializers to handle them (json, orm, mapstruct to DTOs like protobuf generated classes, ...) - that seems to be quite painful, or can reduce performance even more when using class Wrapper as base class for all wrappers and using reflection to make things working.

    Class aliases seem to be a perfect solution:

    class A alias of String {}
    

    or

    @AliasOf(String.class)
    class A {}
    
    enhancement 
    opened by rixy87 0
  • Make classes marked with @Extension show as used

    Make classes marked with @Extension show as used

    It would be great if there was a way to show classes marked with @Extension as being used so people unfamiliar with Manifold don't think it's okay to delete it.

    image

    IntelliJ Plugin 
    opened by chaganiu 1
Releases(v2022.1.5)
  • v2022.1.5(Feb 12, 2022)

    Release v2022.1.5

    Java 17 Support

    • Manifold fully supports Java 17 and Java 18 (Early Access)
    • Support extensions on record classes

    IntelliJ IDEA & Android Studio plugin improvements

    • Many performance improvements and bug fixes toward an improved user experience in the IDE

    Update for ManTL Templates

    • Fix rendering issues relating to recent IntelliJ IDEA platform changes. Other minor improvements.

    Improvements for Structural Interfaces

    • Support structural interface implementation via Extension Class without having to manually create an IProxyFactory service impl. A powerful feature for overlaying APIs onto external systems.
    • Support operator overloading via default interface methods in structural interface
    • Support proxies on a structural interface with default methods with ReflectUtil.invokeDefault()

    Improvements for Preprocessor

    • Implement the SymbolProvider SPI to augment the environment definitions with your own custom environment symbols.
    • Improved Android support:

    The manifold-preprocessor-android-syms library implements the service to provide direct access to Android build variant symbols. You can add the library as a dependency to gain automatic access to familiar Android BuildConfig symbols:

    DEBUG
    BUILD_TYPE // current build variant  
    FLAVOR // flavor of current build variant
    etc. 
    

    See manifold-preprocessor-android-syms for details.

    Improvements for GraphQL

    • GraphQL generated code is less than 1/2 of its previous size. No API changes.
    • Added support for processing the raw GraphQL response to access custom key/value pairs etc.
    • Support multiple GraphQL schemas using .graphqlconfig files

    Support dumping source

    Manifold integrates directly with the Java parser, as such there are no intermediate files to manage. However, some tools may need to parse or otherwise analyze processed Java source separate from the Java compiler. In this case you can use the manifold.source.target compiler option to specify a directory where all source is copied as it is compiled, including preprocessed and generated source from Manifold.

    Usage:

    javac -Amanifold.source.target=<my-directory> ...
    

    Bug fixes

    • #341 change strategy to address jdk12+ member filtering
    • #338 fix ManTL template issues that have piled up with recent JetBrains platform updates
    • #337 Support structural interface implementation via Extension Class without having to manually create an IProxyFactory service impl
    • #336 IntelliJ plugin: performing a clean build from maven/gradle tool causes perpetual refresh in UI
    • #334 handle case with ReflectUtil.invokeDefault() where the receiving default method has param type that is a structural interface
    • #333 handle structural overload operator methods
    • #332 fix issues with operator overloading relating to structural interfaces
    • #330 NPE in IntelliJ inside fileOpenedSync() when manifold-props not in use
    • #329 'Array index out of bounds' warning highlight in IJ editor for indexed access to Maps
    • #328 editing a graphql file in IntelliJ causes some graphql types not to resolve
    • #327 fix conflict with preprocessor build.properties and environment symbols
    • #326 Add a preprocessor SymbolProvider implementation for Android build variants
    • #325 Building on Android Studio with Gradle 7.0.3 and Java 11 causes internal compiler errors
    • #324 fix general lag in IJ editor after typing
    • #322 Add an SPI to augment the preprocessor's symbols dynamically
    • #319 Fix IJ plugin regarding manifold preprocessor when only the preprocessor is in use
    • #313 Fix default parameter values for graphql operations
    • #311 IJ plugin: Fix psi cache exception caused by intellij internals using WrappedLexer
    • #306 Support Java 17
    • #303 GQL Fields with Underscores producing incorrectly in 2021.1.23
    • #302 "Access is allowed from event dispatch thread only" exception thrown occasionally in IntelliJ
    • #301 GraphQL: Slim down generated source
    • #300 CCE at runtime when structural interface having a method that returns a structural interface
    • #297 IJ plugin: Some features of manifold-ext and manifold-props leak through to modules not depending on these artifacts, in such cases avoid applying these code paths
    • #296 AbstractMethodError using property syntax in an interface default method
    • #295 Support compiler option to dump [pre]processed and/or generated manifold sources to disk
    • #292 Compile with Java Operator Overloading inc() dec() error
    • #290 IJ plugin: Improve performance while editing, particularly where code completion involves manifold extensions, also avoid irrelevant code paths where possible e.g., type resolution involving manifold-ext where it is not used
    • #288 Incompatible types. required: 'manifold.rt.api.anno.any[]'
    • #286 Access is allowed from event dispatch thread only
    • #285 Sometimes causes code analysis failure
    • #284 IJ plugin: NullPointerException breaks menu items and Quick Fix suggestion
    • #283 Switch on Enum is probably broken IntelliJ Plugin
    • #282 Manifold incompatible with Lombok val/var locals
    • #281 IntelliJ 2021.2 Community Edition: Null Ptr Exceptions
    • #279 GraphQL: Bearer Authorization broken when calling graphQL server
    • #277 GraphQL: Add support for processing the raw GraphQL response to access custom key/value pairs etc.
    • #276 manifold-graphql: support a built-in "JSON" scalar
    • #273 IJ plugin: revise logic for protected property access
    • #270 don't pollute compiler output with warnings from generated code, particularly relevant with -Xlint:all usage
    • #268 manifold-strings: provide javac command line option to exclude simple $foo syntax from processing while still allowing ${foo}
    • #260 support extensions on record classes
    • #255 Fix issues with JDK 16 compatibility and manifold-props
    • #254 Inferred property silently shadows local captured reference from anonymous context
    • #253 using manifold-props with AWT/Swing app, cannot find symbols in sun.awt.util
    • #173 Fix race condition
    • #101 Support multiple GraphQL schemas using .graphqlconfig files

    Release v2021.1.8

    Properties

    The manifold-props project is a compiler plugin to simplify declaring and using properties in Java. Use it to reduce the amount of code you would otherwise write and to improve your overall dev experience with properties.

    public interface Book {
      @var String title;  // no more boilerplate code!
    }
    // refer to it directly by name
    book.title = "Daisy";     // calls setter
    String name = book.title; // calls getter 
    book.title += " chain";   // calls getter & setter
    

    Additionally, manifold-props automatically infers properties, both from your existing source files and from compiled classes your project uses.

    java.time.ZonedDateTime zdt = ZonedDateTime.now();
    String calendarType = zdt.chronology.calendarType; // access properties concisely & consistently throughout yor project
    

    See Property inference.

    Properties are fully integrated in both IntelliJ IDEA and Android Studio. Use the IDE's features to create new properties, verify property references, access properties with code completion, and more.

    properties

    Additional operator overloading support for:

    • prefix/postfix increment/decrement operators ++ and --
    • compound assignment: operators +=, -=, *=, /=, %=,
    • index operator [], both access and assignment

    Please see Operator Overloading documentation for details.

    Additional support for Structural Interfaces

    • support structural interfaces dynamically without having manifold-ext dependency at runtime. See #240.

    Unit expressions improvements

    New and binding constant:

    • use with Pair class to simplify syntax:
    Pair<String, Integer> pair = "Moe" and 100;
    
    • add Map#mapOf extension method:
    Map<String, Integer> scores = mapOf("Moe" and 100, "Larry" and 107, "Curly" and 111);
    

    Preprocessor improvements

    • support relational expressions in the preprocessor. See #204.

    Extension method improvements

    Java 16 support

    • Adapt to API changes and changes resulting from JEP 396: Strongly Encapsulate JDK Internals by Default.

    Release v2020.1.19

    Android Studio Support

    Manifold now fully supports Android Studio. Please see Android Setup to learn more.

    Kotlin Support

    Use Manifold with Kotlin and other JVM languages! Please see Kotlin Support to learn more.

    Support Java 6 & 7

    Manifold now supports Java -source and -target versions prior to 8 with core features and most extensions including manifold-preprocessor.

    For instance, using manifold-preprocessor you can use builtin definitions like this:

    #if JAVA_6
      public String perform() {
          return "java6";
      }
    #elif JAVA_7
      public String perform() {
          return "java7";
      }
    #elif JAVA_8_OR_LATER
      public String perform() {
          return "at least java8";
      }
    #endif
    

    Notes:

    • Although Manifold supports -source and -target levels below 8, you must use a Java 8 or later compiler in your build
    • Some type manifolds such as manifold-graphql and manifold-json are not supported with -source levels below 8

    Pure Static Compilation

    Manifold dependencies are now separated into compile-only and API (or implementation) modules. This change allows projects to limit Manifold's compilation features to compile-time and eliminate most of Manifold's footprint from runtime. This change is also at the heart of Manifold's support for Android and Kotlin.

    Explicit Compilation

    Similar to javac's source file list, Manifold provides -Amanifold.source.<ext>=<regex> javac command line options to explicitly compile resources either by type name using regular expressions or by file name using file system paths.

    See the Sample Kotlin App for an example of using explicit resource compilation.

    Release v2019.1.29

    Type-safe CSV Support

    Comprehensive support for CSV, interchangeable with JSON, XML, and YAML.

    // Type-safely use a CSV file in your resource directory, no code gen
    import com.example.MyCsvData; // from resource file: com/example/MyCsvData.csv
    import com.example.MyCsvData.MyCsvDataItem;
    ...
    // Load data from the resource file
    MyCsvData dataItems = MyCsvData.fromSource();
    // Access rows of data type-safely
    for (MyCsvData.MyCsvDataItem item: dataItems) {
      String name = item.getLastName();
      LocalDateTime startDate = item.getStartDate();
      ...
    }
    

    Type-safe XML Support

    Comprehensive support for XML, interchangeable with JSON, YAML, and CSV.

    // Type-safely use an XML file in your resource directory
    import com.example.config.MyXmlConfig;
    ...
    // Load data from the resource file
    MyXmlConfig config = MyXmlConfig.fromSource();
    // Access elements/attributes type-safely
    var linesOfBusiness = config.getEnvironment().getLinesOfBusiness();
    ...
    

    Release v2019.1.21

    Operator Overloading

    Implement operator methods on any type to directly support arithmetic, relational, and unit operators.

    // BigDecimal expressions
    if (bigDec1 > bigDec2) {
      BigDecimal result = bigDec1 + bigDec2;
      ...
    }
    // Implemnet operators for any type
    MyType value = myType1 + myType2;
    

    Unit Expressions

    Unit or binding operations are unique to the Manifold framework. They provide a powerfully concise syntax and can be applied to a wide range of applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc
    ...
    Length distance = 100 mph * 3 hr;
    Force f = 5.2 kg m/s/s; // same as 5.2 N
    Mass infant = 9 lb + 8.71 oz;
    

    Ranges

    Easily work with the Range API using unit expressions. Simply import the RangeFun constants to create ranges.

    // imports the `to`, `step`, and other "binding" constants
    import static manifold.collections.api.range.RangeFun.*;
    ...
    for (int i: 1 to 5) {
      out.println(i);
    }
    
    for (Mass m: 0kg to 10kg step 22r unit g) {
      out.println(m);
    }
    

    Science

    Use the manifold-science framework to type-safely incorporate units and precise measurements into your applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc.
    ...
    Velocity rate = 65mph;
    Time time = 1min + 3.7sec;
    Length distance = rate * time;
    
    Source code(tar.gz)
    Source code(zip)
  • v2021.1.8(Mar 19, 2021)

    New Features (v2021.1.8)

    Properties

    The manifold-props project is a compiler plugin to simplify declaring and using properties in Java. Use it to reduce the amount of code you would otherwise write and to improve your overall dev experience with properties.

    public interface Book {
      @var String title;  // no more boilerplate code!
    }
    // refer to it directly by name
    book.title = "Daisy";     // calls setter
    String name = book.title; // calls getter 
    book.title += " chain";   // calls getter & setter
    

    Additionally, manifold-props automatically infers properties, both from your existing source files and from compiled classes your project uses.

    java.time.ZonedDateTime zdt = ZonedDateTime.now();
    String calendarType = zdt.chronology.calendarType; // access properties concisely & consistently throughout yor project
    

    See Property inference.

    Properties are fully integrated in both IntelliJ IDEA and Android Studio. Use the IDE's features to create new properties, verify property references, access properties with code completion, and more.

    properties

    Additional operator overloading support for:

    • prefix/postfix increment/decrement operators ++ and --
    • compound assignment: operators +=, -=, *=, /=, %=,
    • index operator [], both access and assignment

    Please see Operator Overloading documentation for details.

    Additional support for Structural Interfaces

    • support structural interfaces dynamically without having manifold-ext dependency at runtime. See #240.

    Unit expressions improvements

    New and binding constant:

    • use with Pair class to simplify syntax:
    Pair<String, Integer> pair = "Moe" and 100;
    
    • add Map#mapOf extension method:
    Map<String, Integer> scores = mapOf("Moe" and 100, "Larry" and 107, "Curly" and 111);
    

    Preprocessor improvements

    • support relational expressions in the preprocessor. See #204.

    Extension method improvements

    Java 16 support

    • Adapt to API changes and changes resulting from JEP 396: Strongly Encapsulate JDK Internals by Default.

    New Features (v2020.1.19)

    Android Studio Support

    Manifold now fully supports Android Studio. Please see Android Setup to learn more.

    Kotlin Support

    Use Manifold with Kotlin and other JVM languages! Please see Kotlin Support to learn more.

    Support Java 6 & 7

    Manifold now supports Java -source and -target versions prior to 8 with core features and most extensions including manifold-preprocessor.

    For instance, using manifold-preprocessor you can use builtin definitions like this:

    #if JAVA_6
      public String perform() {
          return "java6";
      }
    #elif JAVA_7
      public String perform() {
          return "java7";
      }
    #elif JAVA_8_OR_LATER
      public String perform() {
          return "at least java8";
      }
    #endif
    

    Notes:

    • Although Manifold supports -source and -target levels below 8, you must use a Java 8 or later compiler in your build
    • Some type manifolds such as manifold-graphql and manifold-json are not supported with -source levels below 8

    Pure Static Compilation

    Manifold dependencies are now separated into compile-only and API (or implementation) modules. This change allows projects to limit Manifold's compilation features to compile-time and eliminate most of Manifold's footprint from runtime. This change is also at the heart of Manifold's support for Android and Kotlin.

    Explicit Compilation

    Similar to javac's source file list, Manifold provides -Amanifold.source.<ext>=<regex> javac command line options to explicitly compile resources either by type name using regular expressions or by file name using file system paths.

    See the Sample Kotlin App for an example of using explicit resource compilation.

    New Features (v2019.1.29)

    Type-safe CSV Support

    Comprehensive support for CSV, interchangeable with JSON, XML, and YAML.

    // Type-safely use a CSV file in your resource directory, no code gen
    import com.example.MyCsvData; // from resource file: com/example/MyCsvData.csv
    import com.example.MyCsvData.MyCsvDataItem;
    ...
    // Load data from the resource file
    MyCsvData dataItems = MyCsvData.fromSource();
    // Access rows of data type-safely
    for (MyCsvData.MyCsvDataItem item: dataItems) {
      String name = item.getLastName();
      LocalDateTime startDate = item.getStartDate();
      ...
    }
    

    Type-safe XML Support

    Comprehensive support for XML, interchangeable with JSON, YAML, and CSV.

    // Type-safely use an XML file in your resource directory
    import com.example.config.MyXmlConfig;
    ...
    // Load data from the resource file
    MyXmlConfig config = MyXmlConfig.fromSource();
    // Access elements/attributes type-safely
    var linesOfBusiness = config.getEnvironment().getLinesOfBusiness();
    ...
    

    New Features (v2019.1.21)

    Operator Overloading

    Implement operator methods on any type to directly support arithmetic, relational, and unit operators.

    // BigDecimal expressions
    if (bigDec1 > bigDec2) {
      BigDecimal result = bigDec1 + bigDec2;
      ...
    }
    // Implemnet operators for any type
    MyType value = myType1 + myType2;
    

    Unit Expressions

    Unit or binding operations are unique to the Manifold framework. They provide a powerfully concise syntax and can be applied to a wide range of applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc
    ...
    Length distance = 100 mph * 3 hr;
    Force f = 5.2 kg m/s/s; // same as 5.2 N
    Mass infant = 9 lb + 8.71 oz;
    

    Ranges

    Easily work with the Range API using unit expressions. Simply import the RangeFun constants to create ranges.

    // imports the `to`, `step`, and other "binding" constants
    import static manifold.collections.api.range.RangeFun.*;
    ...
    for (int i: 1 to 5) {
      out.println(i);
    }
    
    for (Mass m: 0kg to 10kg step 22r unit g) {
      out.println(m);
    }
    

    Science

    Use the manifold-science framework to type-safely incorporate units and precise measurements into your applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc.
    ...
    Velocity rate = 65mph;
    Time time = 1min + 3.7sec;
    Length distance = rate * time;
    
    Source code(tar.gz)
    Source code(zip)
  • v2020.1.19(Jul 9, 2020)

    New Features (v2020.1.19)

    Android Studio Support

    Manifold now fully supports Android Studio. Please see Android Setup to learn more.

    Kotlin Support

    Use Manifold with Kotlin and other JVM languages! Please see Kotlin Support to learn more.

    Support Java 6 & 7

    Manifold now supports Java -source and -target versions prior to 8 with core features and most extensions including manifold-preprocessor.

    For instance, using manifold-preprocessor you can use builtin definitions like this:

    #if JAVA_6
      public String perform() {
          return "java6";
      }
    #elif JAVA_7
      public String perform() {
          return "java7";
      }
    #elif JAVA_8_OR_LATER
      public String perform() {
          return "at least java8";
      }
    #endif
    

    Notes:

    • Although Manifold supports -source and -target levels below 8, you must use a Java 8 or later compiler in your build
    • Some type manifolds such as manifold-graphql and manifold-json are not supported with -source levels below 8

    Pure Static Compilation

    Manifold dependencies are now separated into compile-only and API (or implementation) modules. This change allows projects to limit Manifold's compilation features to compile-time and eliminate most of Manifold's footprint from runtime. This change is also at the heart of Manifold's support for Android and Kotlin.

    Explicit Compilation

    Similar to javac's source file list, Manifold provides -Amanifold.source.<ext>=<regex> javac command line options to explicitly compile resources either by type name using regular expressions or by file name using file system paths.

    See the Sample Kotlin App for an example of using explicit resource compilation.

    New Features (v2019.1.29)

    Type-safe CSV Support

    Comprehensive support for CSV, interchangeable with JSON, XML, and YAML.

    // Type-safely use a CSV file in your resource directory, no code gen
    import com.example.MyCsvData; // from resource file: com/example/MyCsvData.csv
    import com.example.MyCsvData.MyCsvDataItem;
    ...
    // Load data from the resource file
    MyCsvData dataItems = MyCsvData.fromSource();
    // Access rows of data type-safely
    for (MyCsvData.MyCsvDataItem item: dataItems) {
      String name = item.getLastName();
      LocalDateTime startDate = item.getStartDate();
      ...
    }
    

    Type-safe XML Support

    Comprehensive support for XML, interchangeable with JSON, YAML, and CSV.

    // Type-safely use an XML file in your resource directory
    import com.example.config.MyXmlConfig;
    ...
    // Load data from the resource file
    MyXmlConfig config = MyXmlConfig.fromSource();
    // Access elements/attributes type-safely
    var linesOfBusiness = config.getEnvironment().getLinesOfBusiness();
    ...
    

    New Features (v2019.1.21)

    Operator Overloading

    Implement operator methods on any type to directly support arithmetic, relational, and unit operators.

    // BigDecimal expressions
    if (bigDec1 > bigDec2) {
      BigDecimal result = bigDec1 + bigDec2;
      ...
    }
    // Implemnet operators for any type
    MyType value = myType1 + myType2;
    

    Unit Expressions

    Unit or binding operations are unique to the Manifold framework. They provide a powerfully concise syntax and can be applied to a wide range of applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc
    ...
    Length distance = 100 mph * 3 hr;
    Force f = 5.2 kg m/s/s; // same as 5.2 N
    Mass infant = 9 lb + 8.71 oz;
    

    Ranges

    Easily work with the Range API using unit expressions. Simply import the RangeFun constants to create ranges.

    // imports the `to`, `step`, and other "binding" constants
    import static manifold.collections.api.range.RangeFun.*;
    ...
    for (int i: 1 to 5) {
      out.println(i);
    }
    
    for (Mass m: 0kg to 10kg step 22r unit g) {
      out.println(m);
    }
    

    Science

    Use the manifold-science framework to type-safely incorporate units and precise measurements into your applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc.
    ...
    Velocity rate = 65mph;
    Time time = 1min + 3.7sec;
    Length distance = rate * time;
    
    Source code(tar.gz)
    Source code(zip)
  • v2020.1.17(Jul 3, 2020)

    New Features (v2020.1.17)

    Android Studio Support

    Manifold now fully supports Android Studio. Please see Android Setup to learn more.

    Kotlin Support

    Use Manifold with Kotlin and other JVM languages! Please see Kotlin Support to learn more.

    Support Java 6 & 7

    Manifold now supports Java -source and -target versions prior to 8 with core features and most extensions including manifold-preprocessor.

    For instance, using manifold-preprocessor you can use builtin definitions like this:

    #if JAVA_6
      public String perform() {
          return "java6";
      }
    #elif JAVA_7
      public String perform() {
          return "java7";
      }
    #elif JAVA_8_OR_LATER
      public String perform() {
          return "at least java8";
      }
    #endif
    

    Notes:

    • Although Manifold supports -source and -target levels below 8, you must use a Java 8 or later compiler in your build
    • Some type manifolds such as manifold-graphql and manifold-json are not supported with -source levels below 8

    Pure Static Compilation

    Manifold dependencies are now separated into compile-only and API (or implementation) modules. This change allows projects to limit Manifold's compilation features to compile-time and eliminate most of Manifold's footprint from runtime. This change is also at the heart of Manifold's support for Android and Kotlin.

    Explicit Compilation

    Similar to javac's source file list, Manifold provides -Amanifold.source.<ext>=<regex> javac command line options to explicitly compile resources either by type name using regular expressions or by file name using file system paths.

    See the Sample Kotlin App for an example of using explicit resource compilation.

    New Features (v2019.1.29)

    Type-safe CSV Support

    Comprehensive support for CSV, interchangeable with JSON, XML, and YAML.

    // Type-safely use a CSV file in your resource directory, no code gen
    import com.example.MyCsvData; // from resource file: com/example/MyCsvData.csv
    import com.example.MyCsvData.MyCsvDataItem;
    ...
    // Load data from the resource file
    MyCsvData dataItems = MyCsvData.fromSource();
    // Access rows of data type-safely
    for (MyCsvData.MyCsvDataItem item: dataItems) {
      String name = item.getLastName();
      LocalDateTime startDate = item.getStartDate();
      ...
    }
    

    Type-safe XML Support

    Comprehensive support for XML, interchangeable with JSON, YAML, and CSV.

    // Type-safely use an XML file in your resource directory
    import com.example.config.MyXmlConfig;
    ...
    // Load data from the resource file
    MyXmlConfig config = MyXmlConfig.fromSource();
    // Access elements/attributes type-safely
    var linesOfBusiness = config.getEnvironment().getLinesOfBusiness();
    ...
    

    New Features (v2019.1.21)

    Operator Overloading

    Implement operator methods on any type to directly support arithmetic, relational, and unit operators.

    // BigDecimal expressions
    if (bigDec1 > bigDec2) {
      BigDecimal result = bigDec1 + bigDec2;
      ...
    }
    // Implemnet operators for any type
    MyType value = myType1 + myType2;
    

    Unit Expressions

    Unit or binding operations are unique to the Manifold framework. They provide a powerfully concise syntax and can be applied to a wide range of applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc
    ...
    Length distance = 100 mph * 3 hr;
    Force f = 5.2 kg m/s/s; // same as 5.2 N
    Mass infant = 9 lb + 8.71 oz;
    

    Ranges

    Easily work with the Range API using unit expressions. Simply import the RangeFun constants to create ranges.

    // imports the `to`, `step`, and other "binding" constants
    import static manifold.collections.api.range.RangeFun.*;
    ...
    for (int i: 1 to 5) {
      out.println(i);
    }
    
    for (Mass m: 0kg to 10kg step 22r unit g) {
      out.println(m);
    }
    

    Science

    Use the manifold-science framework to type-safely incorporate units and precise measurements into your applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc.
    ...
    Velocity rate = 65mph;
    Time time = 1min + 3.7sec;
    Length distance = rate * time;
    
    Source code(tar.gz)
    Source code(zip)
  • v2019.1.29(Nov 23, 2019)

    New Features (v2019.1.29)

    Type-safe CSV Support

    Comprehensive support for CSV, interchangeable with JSON, XML, and YAML.

    // Type-safely use a CSV file in your resource directory, no code gen
    import com.example.MyCsvData; // from resource file: com/example/MyCsvData.csv
    import com.example.MyCsvData.MyCsvDataItem;
    ...
    // Load data from the resource file
    MyCsvData dataItems = MyCsvData.fromSource();
    // Access rows of data type-safely
    for (MyCsvData.MyCsvDataItem item: dataItems) {
      String name = item.getLastName();
      LocalDateTime startDate = item.getStartDate();
      ...
    }
    

    Type-safe XML Support

    Comprehensive support for XML, interchangeable with JSON, YAML, and CSV.

    // Type-safely use an XML file in your resource directory
    import com.example.config.MyXmlConfig;
    ...
    // Load data from the resource file
    MyXmlConfig config = MyXmlConfig.fromSource();
    // Access elements/attributes type-safely
    var linesOfBusiness = config.getEnvironment().getLinesOfBusiness();
    ...
    

    New Features (v2019.1.21)

    Operator Overloading

    Implement operator methods on any type to directly support arithmetic, relational, and unit operators.

    // BigDecimal expressions
    if (bigDec1 > bigDec2) {
      BigDecimal result = bigDec1 + bigDec2;
      ...
    }
    // Implemnet operators for any type
    MyType value = myType1 + myType2;
    

    Unit Expressions

    Unit or binding operations are unique to the Manifold framework. They provide a powerfully concise syntax and can be applied to a wide range of applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc
    ...
    Length distance = 100 mph * 3 hr;
    Force f = 5.2 kg m/s/s; // same as 5.2 N
    Mass infant = 9 lb + 8.71 oz;
    

    Ranges

    Easily work with the Range API using unit expressions. Simply import the RangeFun constants to create ranges.

    // imports the `to`, `step`, and other "binding" constants
    import static manifold.collections.api.range.RangeFun.*;
    ...
    for (int i: 1 to 5) {
      out.println(i);
    }
    
    for (Mass m: 0kg to 10kg step 22r unit g) {
      out.println(m);
    }
    

    Science

    Use the manifold-science framework to type-safely incorporate units and precise measurements into your applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc.
    ...
    Velocity rate = 65mph;
    Time time = 1min + 3.7sec;
    Length distance = rate * time;
    
    Source code(tar.gz)
    Source code(zip)
  • v2019.1.21(Oct 14, 2019)

    New Features (v2019.1.21)

    Operator Overloading

    Implement operator methods on any type to directly support arithmetic, relational, and unit operators.

    // BigDecimal expressions
    if (bigDec1 > bigDec2) {
      BigDecimal result = bigDec1 + bigDec2;
      ...
    }
    // Implemnet operators for any type
    MyType value = myType1 + myType2;
    

    Unit Expressions

    Unit or binding operations are unique to the Manifold framework. They provide a powerfully concise syntax and can be applied to a wide range of applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc
    ...
    Length distance = 100 mph * 3 hr;
    Force f = 5.2 kg m/s/s; // same as 5.2 N
    Mass infant = 9 lb + 8.71 oz;
    

    Ranges

    Easily work with the Range API using unit expressions. Simply import the RangeFun constants to create ranges.

    // imports the `to`, `step`, and other "binding" constants
    import static manifold.collections.api.range.RangeFun.*;
    ...
    for (int i: 1 to 5) {
      out.println(i);
    }
    
    for (Mass m: 0kg to 10kg step 22r unit g) {
      out.println(m);
    }
    

    Science

    Use the manifold-science framework to type-safely incorporate units and precise measurements into your applications.

    import static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc.
    ...
    Velocity rate = 65mph;
    Time time = 1min + 3.7sec;
    Length distance = rate * time;
    
    Source code(tar.gz)
    Source code(zip)
Owner
Manifold
Manifold plugs into Java to supplement it with game-changing features including Type-safe Metaprogramming, Operator Overloading, Units, and Extension Methods.
Manifold
Java 1-15 Parser and Abstract Syntax Tree for Java, including preview features to Java 13

JavaParser This project contains a set of libraries implementing a Java 1.0 - Java 14 Parser with advanced analysis functionalities. This includes pre

JavaParser 4.5k Jan 5, 2023
Project on End to End CI/CD pipeline for java based application using Git,Github,Jenkins,Maven,Sonarqube,Nexus,Slack,Docker and Kuberenets with ECR as private docker registry and Zero Downtime Deployment

Project on End to End CI/CD pipeline for java based application using Git,Github,Jenkins,Maven,Sonarqube,Nexus,Slack,Docker and Kuberenets with ECR as private docker registry and Zero Downtime Deployment.

NITHIN JOHN GEORGE 10 Nov 22, 2022
Java library for handling exceptions in concise, unified, and architecturally clean way.

NoException NoException is a Java library for handling exceptions in concise, unified, and architecturally clean way. System.out.println(Exceptions.lo

Robert Važan 79 Nov 17, 2022
simple tail call optimization and stack safety for Java

com.github.kag0.tail simple tail call optimization for Java enables infinitely deep tail recursive calls without throwing a StackOverflowError no tran

Nathaniel Fischer 18 Dec 7, 2022
Dynamic Code Evolution VM for Java 7/8

NEWS: Dcevm-11 on Trava OpenJDK There is a new distribution channel for DCEVM-11 binaries on - TravaOpenjdk! DCEVM This project is a fork of original

null 1.6k Dec 28, 2022
A library that simplifies error handling for Functional Programming in Java

Faux Pas: Error handling in Functional Programming Faux pas noun, /fəʊ pɑː/: blunder; misstep, false step Faux Pas is a library that simplifies error

Zalando SE 114 Dec 5, 2022
Java unlimited redefinition of classes at runtime.

Hotswap Agent This is an overview page, please visit hotswapagent.org for more information. Overview Java unlimited runtime class and resource redefin

null 1.9k Dec 30, 2022
SneakyThrow is a Java library to ignore checked exceptions

SneakyThrow SneakyThrow is a Java library to ignore checked exceptions. You can integrate it using maven: <dependency> <groupId>com.rainerhahnekamp<

Rainer Hahnekamp 73 Nov 8, 2022
This open source project allows you to easily integrate Camunda's External Task Clients into Micronaut projects: simply add a dependency in your Micronaut project

micronaut-camunda-external-client This open source project allows you to easily integrate Camunda 's External Task Clients into Micronaut projects. Mi

Novatec Consulting GmbH 19 Dec 18, 2022
Spring GraphQL examples using Netflix DGS, GraphQL Java and Spring GraphQL

spring-graphql-sample Spring GraphQL examples using the following frameworks and libraries: Netflix DGS(Domain Graph Service) framework Spring GraphQL

Hantsy Bai 56 Dec 20, 2022
MapNeat is a JVM library written in Kotlin that provides an easy to use DSL (Domain Specific Language) for transforming JSON to JSON, XML to JSON, POJO to JSON in a declarative way.

MapNeat is a JVM library written in Kotlin that provides an easy to use DSL (Domain Specific Language) for transforming JSON to JSON, XML to JSON, POJ

Andrei Ciobanu 59 Sep 17, 2022
IntelliJ IDEA Community Edition & IntelliJ Platform

IntelliJ IDEA Community Edition These instructions will help you build IntelliJ IDEA Community Edition from source code, which is the basis for Intell

JetBrains 14.8k Jan 7, 2023
Toloka has a powerful open API, it allows you to integrate an on-demand workforce directly into your processes, and to build scalable and fully automated human-in-the-loop ML pipelines.

Toloka Java SDK Documentation Website | API Documentation | Platform Designed by engineers for engineers, Toloka lets you integrate an on-demand workf

Toloka 10 Apr 27, 2022
Inria 1.4k Dec 29, 2022
A type-safe HTTP client for Android and the JVM

Retrofit A type-safe HTTP client for Android and Java. For more information please see the website. Download Download the latest JAR or grab from Mave

Square 41k Jan 5, 2023
Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer.

json-io Perfect Java serialization to and from JSON format (available on Maven Central). To include in your project: <dependency> <groupId>com.cedar

John DeRegnaucourt 303 Dec 30, 2022
Tuya 37 Dec 26, 2022
Te4j (Template Engine For Java) - Fastest and easy template engine

Te4j About the project Te4j (Template Engine For Java) - Fastest and easy template engine Pros Extremely fast (127k renders per second on 4790K) Easy

Lero4ka16 19 Nov 11, 2022