diff options
Diffstat (limited to 'compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java')
-rw-r--r-- | compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java b/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java index 87426c0f..d273f387 100644 --- a/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java +++ b/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java @@ -47,6 +47,7 @@ class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> { private ExprModel mModel; private ParseTreeListener mParseTreeListener; private ArrayDeque<ExprModel> mModelStack = new ArrayDeque<ExprModel>(); + private BindingTarget mTarget; ExpressionVisitor(ExprModel model) { mModel = model; @@ -56,6 +57,10 @@ class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> { mParseTreeListener = parseTreeListener; } + public void setBindingTarget(BindingTarget bindingTarget) { + mTarget = bindingTarget; + } + private void onEnter(ParserRuleContext context) { if (mParseTreeListener != null) { mParseTreeListener.enterEveryRule(context); @@ -398,7 +403,7 @@ class ExpressionVisitor extends BindingExpressionBaseVisitor<Expr> { final int startIndex = Math.max(1, colonIndex + 1); final String resourceType = resourceReference.substring(startIndex, slashIndex).trim(); final String resourceName = resourceReference.substring(slashIndex + 1).trim(); - return mModel.resourceExpr(packageName, resourceType, resourceName, args); + return mModel.resourceExpr(mTarget, packageName, resourceType, resourceName, args); } finally { onExit(ctx); } |