 -    if (!canCollapseChildNames) {
 -      return;
 -    }
--
 +  private void updateFunctionDeclarationAtFunctionNode(Name n) {
+ 
      Ref ref = n.declaration;
      String fnName = ref.node.getString();
-     addStubsForUndeclaredProperties(
-@@ -872,7 +846,6 @@ class CollapseProperties implements CompilerPass {
-    */
-   private int addStubsForUndeclaredProperties(
-       Name n, String alias, Node parent, Node addAfter) {
--    Preconditions.checkState(n.canCollapseUnannotatedChildNames());
-     Preconditions.checkArgument(NodeUtil.isStatementBlock(parent));
-     Preconditions.checkNotNull(addAfter);
-     int numStubs = 0;

     }
 
     if (n.props != null) {
@@ -571,30 +571,21 @@ class CollapseProperties implements CompilerPass {
    *     this name. (This is mostly passed for convenience; it's equivalent to
    *     n.canCollapseChildNames()).
    */
-  private void updateObjLitOrFunctionDeclaration(
-      Name n, String alias, boolean canCollapseChildNames) {
-    if (n.declaration == null) {
+  private void updateObjLitOrFunctionDeclaration(Name n, String alias) {
       // Some names do not have declarations, because they
       // are only defined in local scopes.
-      return;
-    }
-
-    if (n.declaration.getTwin() != null) {
       // Twin declarations will get handled when normal references
       // are handled.
-      return;
-    }
 
     switch (n.declaration.node.getParent().getType()) {
       case Token.ASSIGN:

         break;
     }
   }
@@ -608,7 +606,7 @@ class CollapseProperties implements CompilerPass {
    * @param alias The flattened name for {@code n} (e.g. "a", "a$b$c")
    */
   private void updateObjLitOrFunctionDeclarationAtAssignNode(
