|
1 | 1 | package org.openzen.zenscript.javashared.types; |
2 | 2 |
|
3 | 3 | import org.openzen.zencode.shared.CodePosition; |
| 4 | +import org.openzen.zenscript.codemodel.FunctionHeader; |
4 | 5 | import org.openzen.zenscript.codemodel.Modifiers; |
5 | 6 | import org.openzen.zenscript.codemodel.compilation.ResolvingType; |
6 | 7 | import org.openzen.zenscript.codemodel.expression.Expression; |
7 | 8 | import org.openzen.zenscript.codemodel.generic.TypeParameter; |
8 | 9 | import org.openzen.zenscript.codemodel.identifiers.ExpansionSymbol; |
9 | 10 | import org.openzen.zenscript.codemodel.identifiers.ModuleSymbol; |
10 | 11 | import org.openzen.zenscript.codemodel.identifiers.TypeSymbol; |
| 12 | +import org.openzen.zenscript.codemodel.identifiers.instances.MethodInstance; |
| 13 | +import org.openzen.zenscript.codemodel.type.BasicTypeID; |
11 | 14 | import org.openzen.zenscript.codemodel.type.DefinitionTypeID; |
12 | 15 | import org.openzen.zenscript.codemodel.type.TypeID; |
| 16 | +import org.openzen.zenscript.codemodel.type.builtin.BuiltinMethodSymbol; |
13 | 17 | import org.openzen.zenscript.codemodel.type.member.MemberSet; |
14 | 18 | import org.openzen.zenscript.javashared.expressions.JavaObjectCastExpression; |
15 | 19 |
|
@@ -44,7 +48,12 @@ public String getName() { |
44 | 48 |
|
45 | 49 | @Override |
46 | 50 | public ResolvingType resolve(TypeID[] typeArguments) { |
47 | | - MemberSet.Builder members = MemberSet.create(new DefinitionTypeID(this, typeArguments, null)); |
| 51 | + DefinitionTypeID type = new DefinitionTypeID(this, typeArguments, null); |
| 52 | + MemberSet.Builder members = MemberSet.create(type); |
| 53 | + members.method(new MethodInstance(BuiltinMethodSymbol.OBJECT_SAME, new FunctionHeader(BasicTypeID.BOOL, type), type)); |
| 54 | + members.method(new MethodInstance(BuiltinMethodSymbol.OBJECT_NOTSAME, new FunctionHeader(BasicTypeID.BOOL, type), type)); |
| 55 | + members.method(new MethodInstance(BuiltinMethodSymbol.OBJECT_HASHCODE, new FunctionHeader(BasicTypeID.UINT), type)); |
| 56 | + |
48 | 57 | return members.build(); |
49 | 58 | } |
50 | 59 |
|
|
0 commit comments