X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Finternal%2Felaboration%2Fprofiling%2FBranchPointInjector.java;h=6f3ff3be93150e8685e05495f1104173dfd865f6;hp=dff4622215473df74bced2f8bcebca7da746dc9a;hb=f5b8a3d0b68ab33a78235c5dfa84fc1d45f6271e;hpb=3303fe4a3b363e88662ac75a4f7e873ddb3ab352 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/profiling/BranchPointInjector.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/profiling/BranchPointInjector.java index dff462221..6f3ff3be9 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/profiling/BranchPointInjector.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/profiling/BranchPointInjector.java @@ -10,10 +10,10 @@ import org.simantics.scl.compiler.elaboration.expressions.EAsPattern; import org.simantics.scl.compiler.elaboration.expressions.EBinary; import org.simantics.scl.compiler.elaboration.expressions.EBind; import org.simantics.scl.compiler.elaboration.expressions.EBlock; +import org.simantics.scl.compiler.elaboration.expressions.ECHRRuleset; import org.simantics.scl.compiler.elaboration.expressions.EConstant; import org.simantics.scl.compiler.elaboration.expressions.ECoveringBranchPoint; import org.simantics.scl.compiler.elaboration.expressions.EEnforce; -import org.simantics.scl.compiler.elaboration.expressions.EEntityTypeAnnotation; import org.simantics.scl.compiler.elaboration.expressions.EError; import org.simantics.scl.compiler.elaboration.expressions.EExternalConstant; import org.simantics.scl.compiler.elaboration.expressions.EFieldAccess; @@ -120,7 +120,8 @@ public class BranchPointInjector extends StandardExpressionTransformer { ++codeCounter; expression.condition = expression.condition.accept(this); expression.then_ = injectBranchPoint(expression.then_); - expression.else_ = injectBranchPoint(expression.else_); + if(expression.else_ != null) + expression.else_ = injectBranchPoint(expression.else_); return expression; } @@ -197,25 +198,25 @@ public class BranchPointInjector extends StandardExpressionTransformer { } @Override - public Expression transform(EConstant expression) { + public Expression transform(ECHRRuleset expression) { ++codeCounter; return super.transform(expression); } @Override - public Expression transform(ECoveringBranchPoint expression) { + public Expression transform(EConstant expression) { ++codeCounter; return super.transform(expression); } @Override - public Expression transform(EEnforce expression) { + public Expression transform(ECoveringBranchPoint expression) { ++codeCounter; return super.transform(expression); } @Override - public Expression transform(EEntityTypeAnnotation expression) { + public Expression transform(EEnforce expression) { ++codeCounter; return super.transform(expression); }