]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/query/QAbstractModifier.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / query / QAbstractModifier.java
1 package org.simantics.scl.compiler.elaboration.query;
2
3 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;
4 import org.simantics.scl.compiler.elaboration.contexts.TypingContext;
5 import org.simantics.scl.compiler.errors.Locations;
6
7 public abstract class QAbstractModifier extends Query {
8     public Query query;
9     
10     public QAbstractModifier(Query query) {
11         this.query = query;
12     }
13     
14     @Override
15     public Query resolve(TranslationContext context) {
16         query = query.resolve(context);
17         return this;
18     }
19
20     @Override
21     public void checkType(TypingContext context) {
22         query.checkType(context);
23     }
24     
25     @Override
26     public void setLocationDeep(long loc) {
27         if(location == Locations.NO_LOCATION) {
28             location = loc;
29             query.setLocationDeep(loc);
30         }
31     }
32 }