コード例 #1
0
ファイル: TypeContextManager.java プロジェクト: sprig/MPS
 public void runTypeCheckingAction(SNode node, ITypechecking.Action r) {
   final ITypeContextOwner contextOwner = myTypecheckingContextOwner.get();
   TypeCheckingContext context = acquireTypecheckingContext(node, contextOwner);
   try {
     r.run(context);
   } finally {
     releaseTypecheckingContext(node, contextOwner);
   }
 }
コード例 #2
0
ファイル: TypeContextManager.java プロジェクト: sprig/MPS
 public void runTypeCheckingAction(
     @NotNull final ITypeContextOwner contextOwner, SNode node, ITypechecking.Action r) {
   final ITypeContextOwner savedOwner = myTypecheckingContextOwner.get();
   myTypecheckingContextOwner.set(contextOwner);
   final SubtypingCache savedSubtypingCache = mySubtypingCache.get();
   mySubtypingCache.set(null);
   TypeCheckingContext context = acquireTypecheckingContext(node, contextOwner);
   try {
     r.run(context);
   } finally {
     releaseTypecheckingContext(node, contextOwner);
     myTypecheckingContextOwner.set(savedOwner);
     mySubtypingCache.set(savedSubtypingCache);
   }
 }