Refactor - Rename className doesn't rename the constructor

Issue #2103 resolved
Eric Kintzer created an issue

Simple unexpected refactor rename behavior

public class Foo {
    public Foo() {}
    public Foo withXX(Object val) {return this;}
}

Refactor - Rename the class Name Foo to Foo2; you end up with this:

public class Foo2 {
    public Foo() {} // not renamed!!
    public Foo2 withXX(Object val) {return this;}
}

easy to repro in anon apex; same issue while refactoring an apex file in the IDE

Comments (8)

  1. Scott Wells repo owner

    Eric, I'm not seeing that behavior:

    Issue_2103.gif

    The constructor rename isn't included in the preview, but it is included in the actual operation itself.

    Assuming you're on the latest-and-greatest build of IC2, can you see if there are any errors/exceptions in your idea.log when this happens?

  2. Eric Kintzer reporter

    Scott:
    I upgraded to 2.2.2.0 and concur that that the preview does not include the constructor. However, when I click Enter after typing in the new class name , the refactor tool renames the class and the constructor but does not rename the method. I’ve included a video.

    Here is the log

    2022-05-18 11:45:16,434 [ 185603]   INFO - lij.diagnostic.DebugLogManager - Set DEBUG for the following categories: #com.illuminatedcloud.intellij.refactoring.ApexCopyHandler, #com.illuminatedcloud.intellij.refactoring.IlluminatedCloudFileHandler, #com.illuminatedcloud.intellij.refactoring.IlluminatedCloudMoveFileHandler, #com.illuminatedcloud.intellij.refactoring.LightningBundleCopyHandler 
    2022-05-18 11:47:01,714 [ 290883]   WARN - ntellij.ui.tree.AsyncTreeModel - ignore duplicated child at 1: Bar2 
    2022-05-18 11:47:04,020 [ 293189]   WARN - ntellij.ui.tree.AsyncTreeModel - ignore duplicated child at 1: Bar2 
    2022-05-18 11:47:10,988 [ 300157]   WARN - ntellij.ui.tree.AsyncTreeModel - ignore duplicated child at 1: Bar2 
    2022-05-18 11:47:13,066 [ 302235]  ERROR - rains.concurrency.AsyncPromise - Exception 'java.lang.NullPointerException' was reported 10 times 
    2022-05-18 11:47:14,360 [ 303529]   INFO - il.indexing.FileBasedIndexImpl - Health check heartbeat 
    2022-05-18 11:47:14,649 [ 303818]  ERROR - rains.concurrency.AsyncPromise - Exception 'java.lang.NullPointerException' was reported 20 times 
    2022-05-18 11:47:21,526 [ 310695]   INFO - System.impl.PopupMenuPreloader - Popup menu '' preloaded at 'StructureViewPopup' in 6 ms 
    2022-05-18 11:47:27,266 [ 316435]   WARN - ntellij.ui.tree.AsyncTreeModel - ignore duplicated child at 1: Bar3 
    

    I started with this:

    I ended with this (rename Bar2 to Bar3):

  3. Scott Wells repo owner

    Hmmm...I'm still unable to reproduce what I see in that video. And to be clear, in some cases you're seeing the constructor not get renamed and in others the return type isn't renamed?

    As for the log, the thing that stands out to me is of course this:

    2022-05-18 11:47:13,066 [ 302235]  ERROR - rains.concurrency.AsyncPromise - Exception 'java.lang.NullPointerException' was reported 10 times 
    

    but that seems to be coming from the underlying IDE itself and not (directly) from IC2. I'd really like to see what's beneath that because it could very well be the root cause of the behavior you're seeing. Unfortunately I don't even see that message anywhere in the IDE proper. Let me do some digging and see if I can figure out how to get more detail for that log entry.

  4. Eric Kintzer reporter

    Scott

    When I was on 2.2.2.0 - I get the behavior as shown in the movie - constructor renamed but method not renamed When I was on the previous release, the behavior I observed was the opposite

    Let me know what else you need to see from the logs and whether there is additional verbosity required

    Eric

  5. Scott Wells repo owner

    Thanks, Eric. Unfortunately I'm unable to reproduce either behavior so I'm trying to figure out how to best to corner the behavior you're seeing. Those NPEs in your log still stand out to me, but with no additional diagnostic info behind them--specifically stack traces--they're not very useful. I'll let you know what other thoughts come to mind.

  6. Eric Kintzer reporter

    Scott; I added more debug trace items and generated the following. Maybe this will help. Note that I switched to Community 2022.1 which means the debug entries are different from before. No Java exceptions

    2022-05-26 17:44:52,187 [27289622]   INFO - #c.i.d.DebugLogManager - Set DEBUG for the following categories: 
    #com.illuminatedcloud.intellij.refactoring.IlluminatedCloudFileHandler, 
    #com.illuminatedcloud.intellij.refactoring.copy.ApexCopyHandler, 
    #com.illuminatedcloud.intellij.refactoring.copy.LightningBundleCopyHandler, 
    #com.illuminatedcloud.intellij.refactoring.copy.StaticResourceBundleCopyHandler, 
    #com.illuminatedcloud.intellij.refactoring.changeSignature.ApexChangeSignatureHandler, 
    #com.illuminatedcloud.intellij.refactoring.changeSignature.ApexChangeSignatureUsageProcessor, 
    #com.illuminatedcloud.intellij.refactoring.implementOverride.AbstractApexImplementOverrideMethodHandler, 
    #com.illuminatedcloud.intellij.refactoring.introduce.AbstractApexIntroduceHandler, 
    #com.illuminatedcloud.intellij.refactoring.introduce.method.ApexExtractMethodHandler, 
    #com.illuminatedcloud.intellij.refactoring.move.IlluminatedCloudMoveFileHandler, 
    #com.illuminatedcloud.intellij.completion.ApexCompletionContext, 
    #com.illuminatedcloud.intellij.completion.ApexCompletionRule, 
    #com.illuminatedcloud.intellij.completion.ApexVariantsCompletionRule
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionContext - Looking for completions where contextElement = METHOD_DECLARATION, currentElement = IDENT, beforeElements = [METHOD_MODIFIERS, PUBLIC], afterElements = [NAME_IDENTIFIER, IDENT, FORMAL_PARAMETERS]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.At rejected because previous element must be one of [null, {, STATIC_INITIALIZER, CONSTRUCTOR_DECLARATION, METHOD_DECLARATION, PROPERTY_DECLARATION, FIELD_DECLARATION, CLASS_DECLARATION, INTERFACE_DECLARATION, ENUM_DECLARATION]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.AuraEnabled rejected because previous element must be one of [@]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.Deprecated rejected because previous element must be one of [@]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.SuppressWarnings rejected because previous element must be one of [@]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.Future rejected because previous element must be one of [@]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpDelete rejected because previous element must be one of [@]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpGet rejected because previous element must be one of [@]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpPatch rejected because previous element must be one of [@]
    2022-05-26 17:44:56,311 [27293746]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpPost rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpPut rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.IsTest rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.InvocableMethod rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.NamespaceAccessible rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.ReadOnly rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.RemoteAction rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.TestSetup rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.TestVisible rejected because previous element must be one of [@]
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.GLOBAL rejected because element is mutually-exclusive with [TRIGGER_DECLARATION, TRIGGER, GLOBAL, PUBLIC, PROTECTED, PRIVATE] and PUBLIC already exists
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.PUBLIC rejected because element is mutually-exclusive with [TRIGGER_DECLARATION, TRIGGER, GLOBAL, PUBLIC, PROTECTED, PRIVATE] and PUBLIC already exists
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.PROTECTED rejected because element is mutually-exclusive with [TRIGGER_DECLARATION, TRIGGER, GLOBAL, PUBLIC, PROTECTED, PRIVATE] and PUBLIC already exists
    2022-05-26 17:44:56,312 [27293747]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.PRIVATE rejected because element is mutually-exclusive with [TRIGGER_DECLARATION, TRIGGER, GLOBAL, PUBLIC, PROTECTED, PRIVATE] and PUBLIC already exists
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.OVERRIDE accepted as a completion
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.OVERRIDE added 1 completions
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.VIRTUAL accepted as a completion
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.VIRTUAL added 1 completions
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.ABSTRACT accepted as a completion
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.ABSTRACT added 1 completions
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.STATIC accepted as a completion
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.STATIC added 1 completions
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.TESTMETHOD accepted as a completion
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.TESTMETHOD added 1 completions
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.WEBSERVICE accepted as a completion
    2022-05-26 17:44:56,313 [27293748]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.WEBSERVICE added 1 completions
    2022-05-26 17:44:56,315 [27293750]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.ReturnType.Namespace added 72 completions
    2022-05-26 17:44:56,316 [27293751]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.ReturnType.Namespace.Variants rejected because previous element must be one of [., ?.]
    2022-05-26 17:44:56,316 [27293751]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.ReturnType.SET accepted as a completion
    2022-05-26 17:44:56,316 [27293751]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.ReturnType.SET added 1 completions
    2022-05-26 17:44:56,316 [27293751]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.ReturnType.VOID accepted as a completion
    2022-05-26 17:44:56,316 [27293751]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.ReturnType.VOID added 1 completions
    2022-05-26 17:44:56,327 [27293762]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Identifier rejected because previous element must be one of [TYPE]
    2022-05-26 17:44:56,327 [27293762]   FINE - #c.i.i.c.ApexCompletionContext -   Context MethodDeclaration added 80 completions
    2022-05-26 17:44:56,347 [27293782]   FINE - #c.i.i.c.ApexCompletionContext - Looking for completions where contextElement = METHOD_DECLARATION, currentElement = IDENT, beforeElements = [METHOD_MODIFIERS, PUBLIC], afterElements = [NAME_IDENTIFIER, IDENT, FORMAL_PARAMETERS]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.At rejected because previous element must be one of [null, {, STATIC_INITIALIZER, CONSTRUCTOR_DECLARATION, METHOD_DECLARATION, PROPERTY_DECLARATION, FIELD_DECLARATION, CLASS_DECLARATION, INTERFACE_DECLARATION, ENUM_DECLARATION]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.AuraEnabled rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.Deprecated rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.SuppressWarnings rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.Future rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpDelete rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpGet rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpPatch rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpPost rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.HttpPut rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.IsTest rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.InvocableMethod rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.NamespaceAccessible rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.ReadOnly rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.RemoteAction rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.TestSetup rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Annotation.TestVisible rejected because previous element must be one of [@]
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.GLOBAL rejected because element is mutually-exclusive with [TRIGGER_DECLARATION, TRIGGER, GLOBAL, PUBLIC, PROTECTED, PRIVATE] and PUBLIC already exists
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.PUBLIC rejected because element is mutually-exclusive with [TRIGGER_DECLARATION, TRIGGER, GLOBAL, PUBLIC, PROTECTED, PRIVATE] and PUBLIC already exists
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.PROTECTED rejected because element is mutually-exclusive with [TRIGGER_DECLARATION, TRIGGER, GLOBAL, PUBLIC, PROTECTED, PRIVATE] and PUBLIC already exists
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.PRIVATE rejected because element is mutually-exclusive with [TRIGGER_DECLARATION, TRIGGER, GLOBAL, PUBLIC, PROTECTED, PRIVATE] and PUBLIC already exists
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.OVERRIDE accepted as a completion
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.OVERRIDE added 1 completions
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.VIRTUAL accepted as a completion
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.VIRTUAL added 1 completions
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.ABSTRACT accepted as a completion
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.ABSTRACT added 1 completions
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.STATIC accepted as a completion
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.STATIC added 1 completions
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.TESTMETHOD accepted as a completion
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.TESTMETHOD added 1 completions
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Modifiers.WEBSERVICE accepted as a completion
    2022-05-26 17:44:56,348 [27293783]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.Modifiers.WEBSERVICE added 1 completions
    2022-05-26 17:44:56,349 [27293784]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.ReturnType.Namespace added 72 completions
    2022-05-26 17:44:56,349 [27293784]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.ReturnType.Namespace.Variants rejected because previous element must be one of [., ?.]
    2022-05-26 17:44:56,349 [27293784]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.ReturnType.SET accepted as a completion
    2022-05-26 17:44:56,349 [27293784]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.ReturnType.SET added 1 completions
    2022-05-26 17:44:56,349 [27293784]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.ReturnType.VOID accepted as a completion
    2022-05-26 17:44:56,349 [27293784]   FINE - #c.i.i.c.ApexCompletionContext -     Rule MethodDeclaration.ReturnType.VOID added 1 completions
    2022-05-26 17:44:56,355 [27293790]   FINE - #c.i.i.c.ApexCompletionRule -   MethodDeclaration.Identifier rejected because previous element must be one of [TYPE]
    2022-05-26 17:44:56,355 [27293790]   FINE - #c.i.i.c.ApexCompletionContext -   Context MethodDeclaration added 80 completions
    2022-05-26 17:45:05,210 [27302645]   FINE - #c.i.i.r.c.ApexCopyHandler - Checking to see whether a copy was requested for an Apex source file with a top-level type or trigger declaration.
    2022-05-26 17:45:05,212 [27302647]   FINE - #c.i.i.r.c.ApexCopyHandler - Checking to see whether a copy was requested for a top-level type or trigger declaration.
    2022-05-26 17:45:05,212 [27302647]   FINE - #c.i.i.r.c.ApexCopyHandler -   It is a top-level type or trigger declaration: Bar3
    2022-05-26 17:45:05,216 [27302651]   FINE - #c.i.i.r.c.ApexCopyHandler - Checking to see whether a copy was requested for an Apex source file with a top-level type or trigger declaration.
    2022-05-26 17:45:05,216 [27302651]   FINE - #c.i.i.r.c.ApexCopyHandler - Checking to see whether a copy was requested for a top-level type or trigger declaration.
    2022-05-26 17:45:05,216 [27302651]   FINE - #c.i.i.r.c.ApexCopyHandler -   It is a top-level type or trigger declaration: Bar3
    

  7. Scott Wells repo owner

    Thanks again, Eric. Unfortunately still nothing telling in there as this is the relevant subset of that log:

    2022-05-26 17:45:05,210 [27302645]   FINE - #c.i.i.r.c.ApexCopyHandler - Checking to see whether a copy was requested for an Apex source file with a top-level type or trigger declaration.
    2022-05-26 17:45:05,212 [27302647]   FINE - #c.i.i.r.c.ApexCopyHandler - Checking to see whether a copy was requested for a top-level type or trigger declaration.
    2022-05-26 17:45:05,212 [27302647]   FINE - #c.i.i.r.c.ApexCopyHandler -   It is a top-level type or trigger declaration: Bar3
    2022-05-26 17:45:05,216 [27302651]   FINE - #c.i.i.r.c.ApexCopyHandler - Checking to see whether a copy was requested for an Apex source file with a top-level type or trigger declaration.
    2022-05-26 17:45:05,216 [27302651]   FINE - #c.i.i.r.c.ApexCopyHandler - Checking to see whether a copy was requested for a top-level type or trigger declaration.
    2022-05-26 17:45:05,216 [27302651]   FINE - #c.i.i.r.c.ApexCopyHandler -   It is a top-level type or trigger declaration: Bar3
    

    That's just saying that when you renamed a top-level class, it was going to perform the special handling for a top-level type rename to update the org as appropriate (or at least prompt to do so).

    I'll likely need to instrument with more debug logging in this area. I'll look into that early next week (likely Tuesday given the Monday holiday) and provide a test build here so that hopefully we can get this nailed down and fixed for next week's build.

  8. Scott Wells repo owner

    I'm pretty sure this was resolved a bit back. Someone else reported it via a path that allowed me to reproduce it. Please feel free to reopen if you are still seeing any instance of it, though.

  9. Log in to comment