fix method overlaoding semantic check
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
This commit is contained in:
parent
a34c7ded50
commit
4d21d8e94e
@ -214,9 +214,7 @@ public class SemanticAnalyzer implements SemanticVisitor {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TypeCheckResult analyze(ParameterNode toCheck) {
|
public TypeCheckResult analyze(ParameterNode toCheck) {
|
||||||
|
return new TypeCheckResult(true, toCheck.type);
|
||||||
|
|
||||||
return new TypeCheckResult(true, null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -517,7 +515,7 @@ public class SemanticAnalyzer implements SemanticVisitor {
|
|||||||
for(int i = 0; i < method.getParameters().size(); i++){
|
for(int i = 0; i < method.getParameters().size(); i++){
|
||||||
var result1 = method.getParameters().get(i).accept(this);
|
var result1 = method.getParameters().get(i).accept(this);
|
||||||
var result2 = toCheck.parameters.get(i).accept(this);
|
var result2 = toCheck.parameters.get(i).accept(this);
|
||||||
if (Objects.equals(result1.getType(), result2.getType())) {
|
if (!Objects.equals(result1.getType(), result2.getType())) {
|
||||||
same = false;
|
same = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
// @expected: TypeMismatchException
|
||||||
|
public class Test{
|
||||||
|
|
||||||
|
public int i;
|
||||||
|
public boolean b;
|
||||||
|
|
||||||
|
public int test(){
|
||||||
|
|
||||||
|
return this.test(i);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void test(int a){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int test(boolean bool){
|
||||||
|
int ret = 1;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -5,7 +5,7 @@ public class Test{
|
|||||||
|
|
||||||
public int test(){
|
public int test(){
|
||||||
|
|
||||||
return i;
|
return this.test(b);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
public class Test{
|
||||||
|
|
||||||
|
public int i;
|
||||||
|
public boolean b;
|
||||||
|
|
||||||
|
public int test(){
|
||||||
|
|
||||||
|
return this.test(b);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void test(int a){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int test(boolean bool){
|
||||||
|
int ret = 1;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user