@Test public void popRootEnvironmentShouldPass() { context.pop(); }
public TypeEnvironment pop() { Objects.requireNonNull(environment, "Fail to pop context due to no environment present"); TypeEnvironment curEnv = environment; environment = curEnv.getParent(); return curEnv; }
AnalysisContext { public TypeEnvironment pop() { Objects.requireNonNull(environment, "Fail to pop context due to no environment present"); TypeEnvironment curEnv = environment; environment = curEnv.getParent(); return curEnv; } }
AnalysisContext { public TypeEnvironment pop() { Objects.requireNonNull(environment, "Fail to pop context due to no environment present"); TypeEnvironment curEnv = environment; environment = curEnv.getParent(); return curEnv; } AnalysisContext();  AnalysisContext(TypeEnvironment environment); }
AnalysisContext { public TypeEnvironment pop() { Objects.requireNonNull(environment, "Fail to pop context due to no environment present"); TypeEnvironment curEnv = environment; environment = curEnv.getParent(); return curEnv; } AnalysisContext();  AnalysisContext(TypeEnvironment environment); void push(); TypeEnvironment peek(); TypeEnvironment pop(); }
AnalysisContext { public TypeEnvironment pop() { Objects.requireNonNull(environment, "Fail to pop context due to no environment present"); TypeEnvironment curEnv = environment; environment = curEnv.getParent(); return curEnv; } AnalysisContext();  AnalysisContext(TypeEnvironment environment); void push(); TypeEnvironment peek(); TypeEnvironment pop();  }