public void doCheck() {
doMethodAnnotationCheck();
- computeLinearTypeCheckMethodSet();
- doLinearTypeCheck();
- init();
+ if (state.SSJAVA && !state.SSJAVAINFER) {
+ computeLinearTypeCheckMethodSet();
+ doLinearTypeCheck();
+ init();
+ }
if (state.SSJAVADEBUG) {
// debug_printAnnotationRequiredSet();
}
if (state.SSJAVAINFER) {
inference();
+ System.exit(0);
} else {
parseLocationAnnotation();
doFlowDownCheck();
}
}
- private void init() {
+ public void init() {
// perform topological sort over the set of methods accessed by the main
// event loop
Set<MethodDescriptor> methodDescriptorsToAnalyze = new HashSet<MethodDescriptor>();
methodAnnotationChecker = new MethodAnnotationCheck(this, state, tu);
methodAnnotationChecker.methodAnnoatationCheck();
methodAnnotationChecker.methodAnnoataionInheritanceCheck();
+ if (state.SSJAVAINFER) {
+ annotationRequireClassSet.add(methodContainingSSJavaLoop.getClassDesc());
+ annotationRequireSet.add(methodContainingSSJavaLoop);
+ }
state.setAnnotationRequireSet(annotationRequireSet);
}