920 } |
920 } |
921 |
921 |
922 /** Clone this symbol with new owner. |
922 /** Clone this symbol with new owner. |
923 */ |
923 */ |
924 public VarSymbol clone(Symbol newOwner) { |
924 public VarSymbol clone(Symbol newOwner) { |
925 VarSymbol v = new VarSymbol(flags_field, name, type, newOwner); |
925 VarSymbol v = new VarSymbol(flags_field, name, type, newOwner) { |
|
926 @Override |
|
927 public Symbol baseSymbol() { |
|
928 return VarSymbol.this; |
|
929 } |
|
930 }; |
926 v.pos = pos; |
931 v.pos = pos; |
927 v.adr = adr; |
932 v.adr = adr; |
928 v.data = data; |
933 v.data = data; |
929 // System.out.println("clone " + v + " in " + newOwner);//DEBUG |
934 // System.out.println("clone " + v + " in " + newOwner);//DEBUG |
930 return v; |
935 return v; |
1047 } |
1052 } |
1048 |
1053 |
1049 /** Clone this symbol with new owner. |
1054 /** Clone this symbol with new owner. |
1050 */ |
1055 */ |
1051 public MethodSymbol clone(Symbol newOwner) { |
1056 public MethodSymbol clone(Symbol newOwner) { |
1052 MethodSymbol m = new MethodSymbol(flags_field, name, type, newOwner); |
1057 MethodSymbol m = new MethodSymbol(flags_field, name, type, newOwner) { |
|
1058 @Override |
|
1059 public Symbol baseSymbol() { |
|
1060 return MethodSymbol.this; |
|
1061 } |
|
1062 }; |
1053 m.code = code; |
1063 m.code = code; |
1054 return m; |
1064 return m; |
1055 } |
1065 } |
1056 |
1066 |
1057 /** The Java source which this symbol represents. |
1067 /** The Java source which this symbol represents. |