summaryrefslogtreecommitdiff
path: root/compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java')
-rw-r--r--compiler/src/main/java/android/databinding/tool/ExpressionVisitor.java7
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);
}