diff options
author | Yigit Boyar <yboyar@google.com> | 2015-10-12 18:59:27 -0700 |
---|---|---|
committer | Yigit Boyar <yboyar@google.com> | 2015-10-28 14:33:53 -0700 |
commit | 9784c9aaedeb863018f5fcaa0a598e8e2f8ed2f3 (patch) | |
tree | 50d9b6a2ce235ca732e9da52026eef55e708e1ce /compiler/src/main | |
parent | 012f7781add1b38b28c0c68a94172715e635c00e (diff) | |
download | data-binding-9784c9aaedeb863018f5fcaa0a598e8e2f8ed2f3.tar.gz |
Data binding as studio dep + java6
This CL gets rid of the gradle plugin and instead provides
DataBindingBuilder for the gradle plugin to directly use.
Now, everything that is deployed via SDK Manager (lib and adapters)
are included as prebuilts so that we avoid accidently changing
them w/o an SDK manager release.
There is still work to do:
> re-enable proguard for externel dependencies
> release a batch to ensure everything works
Bug: 22516688
Change-Id: I83ace15bd6d3d23bf5b4ad850f36453dd23ebd43
Diffstat (limited to 'compiler/src/main')
22 files changed, 56 insertions, 42 deletions
diff --git a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java index ae73d951..d96e5da0 100644 --- a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java +++ b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessBindable.java @@ -33,8 +33,6 @@ import java.util.Set; import javax.annotation.processing.ProcessingEnvironment; import javax.annotation.processing.RoundEnvironment; -import javax.annotation.processing.SupportedSourceVersion; -import javax.lang.model.SourceVersion; import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; import javax.lang.model.element.ExecutableElement; @@ -45,7 +43,6 @@ import javax.lang.model.type.TypeKind; import javax.lang.model.util.Types; // binding app info and library info are necessary to trigger this. -@SupportedSourceVersion(SourceVersion.RELEASE_7) public class ProcessBindable extends ProcessDataBinding.ProcessingStep implements BindableHolder { Intermediate mProperties; HashMap<String, HashSet<String>> mLayoutVariables = new HashMap<String, HashSet<String>>(); diff --git a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java index 37dc2a23..d63ec410 100644 --- a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java +++ b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessDataBinding.java @@ -33,7 +33,6 @@ import javax.annotation.processing.AbstractProcessor; import javax.annotation.processing.ProcessingEnvironment; import javax.annotation.processing.RoundEnvironment; import javax.annotation.processing.SupportedAnnotationTypes; -import javax.annotation.processing.SupportedSourceVersion; import javax.lang.model.SourceVersion; import javax.lang.model.element.TypeElement; @@ -44,7 +43,6 @@ import javax.lang.model.element.TypeElement; "android.databinding.BindingConversion", "android.databinding.BindingBuildInfo"} ) -@SupportedSourceVersion(SourceVersion.RELEASE_7) /** * Parent annotation processor that dispatches sub steps to ensure execution order. * Use initProcessingSteps to add a new step. @@ -73,6 +71,11 @@ public class ProcessDataBinding extends AbstractProcessor { return done; } + @Override + public SourceVersion getSupportedSourceVersion() { + return SourceVersion.latest(); + } + private void initProcessingSteps() { final ProcessBindable processBindable = new ProcessBindable(); mProcessingSteps = Arrays.asList( diff --git a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java index ab2b8bff..26706a6a 100644 --- a/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java +++ b/compiler/src/main/java/android/databinding/annotationprocessor/ProcessExpressions.java @@ -19,6 +19,7 @@ package android.databinding.annotationprocessor; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.SystemUtils; import android.databinding.BindingBuildInfo; import android.databinding.tool.CompilerChef; @@ -133,7 +134,7 @@ public class ProcessExpressions extends ProcessDataBinding.ProcessingStep { } if (forLibraryModule) { Set<String> classNames = compilerChef.getWrittenClassNames(); - String out = StringUtils.join(classNames, System.getProperty("line.separator")); + String out = StringUtils.join(classNames, SystemUtils.LINE_SEPARATOR); L.d("Writing list of classes to %s . \nList:%s", exportClassNamesTo, out); try { //noinspection ConstantConditions diff --git a/compiler/src/main/java/android/databinding/tool/BindingTarget.java b/compiler/src/main/java/android/databinding/tool/BindingTarget.java index 9a05d8d2..762433cc 100644 --- a/compiler/src/main/java/android/databinding/tool/BindingTarget.java +++ b/compiler/src/main/java/android/databinding/tool/BindingTarget.java @@ -164,7 +164,7 @@ public class BindingTarget implements LocationScopeProvider { List<MergedBinding> mergeBindings = new ArrayList<MergedBinding>(); for (final SetterStore.MultiAttributeSetter setter : multiAttributeSetterCalls) { L.d("resolved %s", setter); - final List<Binding> mergedBindings = new ArrayList<>(); + final List<Binding> mergedBindings = new ArrayList<Binding>(); for (String attribute : setter.attributes) { Binding binding = lookup.get(attribute); Preconditions.checkNotNull(binding, "cannot find binding for %s", attribute); diff --git a/compiler/src/main/java/android/databinding/tool/MakeCopy.java b/compiler/src/main/java/android/databinding/tool/MakeCopy.java index f143e21d..7627e06d 100644 --- a/compiler/src/main/java/android/databinding/tool/MakeCopy.java +++ b/compiler/src/main/java/android/databinding/tool/MakeCopy.java @@ -28,6 +28,7 @@ import java.io.FileWriter; import java.io.FilenameFilter; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -166,13 +167,19 @@ public class MakeCopy { private static void processLayoutFiles(String applicationPackage, File resTarget, File srcDir, File xmlDir, int minSdk, boolean isLibrary) { - ArrayList<File> resourceFolders = new ArrayList<File>(); - resourceFolders.add(resTarget); MakeFileWriter makeFileWriter = new MakeFileWriter(srcDir); LayoutXmlProcessor xmlProcessor = new LayoutXmlProcessor(applicationPackage, - resourceFolders, makeFileWriter, minSdk, isLibrary); + makeFileWriter, minSdk, isLibrary, new LayoutXmlProcessor.OriginalFileLookup() { + @Override + public File getOriginalFileFor(File file) { + return file; + } + }); try { - xmlProcessor.processResources(minSdk); + LayoutXmlProcessor.ResourceInput input = new LayoutXmlProcessor.ResourceInput( + false, resTarget,resTarget + ); + xmlProcessor.processResources(input); xmlProcessor.writeLayoutInfoFiles(xmlDir); // TODO Looks like make does not support excluding from libs ? xmlProcessor.writeInfoClass(null, xmlDir, null); diff --git a/compiler/src/main/java/android/databinding/tool/MergedBinding.java b/compiler/src/main/java/android/databinding/tool/MergedBinding.java index 53278752..edeb9ee8 100644 --- a/compiler/src/main/java/android/databinding/tool/MergedBinding.java +++ b/compiler/src/main/java/android/databinding/tool/MergedBinding.java @@ -53,7 +53,7 @@ public class MergedBinding extends Binding { } private static Expr createArgListExpr(ExprModel model, final Iterable<Binding> bindings) { - List<Expr> args = new ArrayList<>(); + List<Expr> args = new ArrayList<Expr>(); for (Binding binding : bindings) { args.add(binding.getExpr()); } @@ -93,13 +93,13 @@ public class MergedBinding extends Binding { @Override public String toJavaCode(String targetViewName, String bindingComponent) { final ArgListExpr args = (ArgListExpr) getExpr(); - final List<String> newValues = new ArrayList<>(); + final List<String> newValues = new ArrayList<String>(); for (Expr expr : args.getChildren()) { newValues.add(expr.toCode().generate()); } final List<String> oldValues; if (requiresOldValue()) { - oldValues = new ArrayList<>(); + oldValues = new ArrayList<String>(); for (Expr expr : args.getChildren()) { oldValues.add("this." + WriterPackage.getOldValueName(expr)); } @@ -112,7 +112,7 @@ public class MergedBinding extends Binding { } private static <T> T[] concat(List<T> l1, List<T> l2, Class<T> klass) { - List<T> result = new ArrayList<>(); + List<T> result = new ArrayList<T>(); result.addAll(l1); result.addAll(l2); return result.toArray((T[]) Array.newInstance(klass, result.size())); diff --git a/compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java b/compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java index d9167bfa..ab1ab21c 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/BuiltInVariableExpr.java @@ -37,7 +37,7 @@ public class BuiltInVariableExpr extends IdentifierExpr { @Override protected List<Dependency> constructDependencies() { - return new ArrayList<>(); + return new ArrayList<Dependency>(); } @Override diff --git a/compiler/src/main/java/android/databinding/tool/expr/Expr.java b/compiler/src/main/java/android/databinding/tool/expr/Expr.java index b321ed1d..b4b950e7 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/Expr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/Expr.java @@ -63,7 +63,7 @@ abstract public class Expr implements VersionProvider, LocationScopeProvider { private boolean mCanBeInvalidated = false; @Nullable - private List<Location> mLocations = new ArrayList<>(); + private List<Location> mLocations = new ArrayList<Location>(); /** * This set denotes the times when this expression is invalid. diff --git a/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java b/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java index c92b79d0..8f3b6bf6 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java +++ b/compiler/src/main/java/android/databinding/tool/expr/ExprModel.java @@ -302,8 +302,8 @@ public class ExprModel { int counter = 0; final Iterable<Expr> observables = filterObservables(modelAnalyzer); - List<String> flagMapping = new ArrayList<>(); - mObservables = new ArrayList<>(); + List<String> flagMapping = new ArrayList<String>(); + mObservables = new ArrayList<Expr>(); for (Expr expr : observables) { // observables gets initial ids flagMapping.add(expr.getUniqueKey()); @@ -450,7 +450,7 @@ public class ExprModel { } private List<Expr> filterNonObservableIds(final ModelAnalyzer modelAnalyzer) { - List<Expr> result = new ArrayList<>(); + List<Expr> result = new ArrayList<Expr>(); for (Expr input : mExprMap.values()) { if (input instanceof IdentifierExpr && !input.hasId() @@ -463,7 +463,7 @@ public class ExprModel { } private Iterable<Expr> filterObservables(final ModelAnalyzer modelAnalyzer) { - List<Expr> result = new ArrayList<>(); + List<Expr> result = new ArrayList<Expr>(); for (Expr input : mExprMap.values()) { if (input.isObservable()) { result.add(input); @@ -474,7 +474,7 @@ public class ExprModel { public List<Expr> getPendingExpressions() { if (mPendingExpressions == null) { - mPendingExpressions = new ArrayList<>(); + mPendingExpressions = new ArrayList<Expr>(); for (Expr expr : mExprMap.values()) { // if an expression is NOT dynanic but has conditional dependants, still return it // so that conditional flags can be set @@ -488,7 +488,7 @@ public class ExprModel { public boolean markBitsRead() { // each has should read flags, we set them back on them - List<Expr> markedSomeFlagsRead = new ArrayList<>(); + List<Expr> markedSomeFlagsRead = new ArrayList<Expr>(); for (Expr expr : filterShouldRead(getPendingExpressions())) { expr.markFlagsAsRead(expr.getShouldReadFlags()); markedSomeFlagsRead.add(expr); @@ -498,7 +498,7 @@ public class ExprModel { private boolean pruneDone(List<Expr> markedSomeFlagsAsRead) { boolean marked = true; - List<Expr> markedAsReadList = new ArrayList<>(); + List<Expr> markedAsReadList = new ArrayList<Expr>(); while (marked) { marked = false; for (Expr expr : mExprMap.values()) { @@ -556,7 +556,7 @@ public class ExprModel { } public static List<Expr> filterShouldRead(Iterable<Expr> exprs) { - List<Expr> result = new ArrayList<>(); + List<Expr> result = new ArrayList<Expr>(); for (Expr expr : exprs) { if (!expr.getShouldReadFlags().isEmpty() && !hasConditionalOrNestedCannotReadDependency(expr)) { diff --git a/compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java b/compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java index cdfa78bb..067a59cb 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/IdentifierExpr.java @@ -69,7 +69,7 @@ public class IdentifierExpr extends Expr { @Override protected List<Dependency> constructDependencies() { - return new ArrayList<>(); + return new ArrayList<Dependency>(); } @Override diff --git a/compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java b/compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java index 1151dfac..d5e85bb5 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/ListenerExpr.java @@ -69,7 +69,7 @@ public class ListenerExpr extends Expr { @Override protected List<Dependency> constructDependencies() { - final List<Dependency> dependencies = new ArrayList<>(); + final List<Dependency> dependencies = new ArrayList<Dependency>(); Dependency dependency = new Dependency(this, getChild()); dependency.setMandatory(true); dependencies.add(dependency); diff --git a/compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java b/compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java index 9e8e8c16..a81cffe6 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/MethodCallExpr.java @@ -38,7 +38,7 @@ public class MethodCallExpr extends Expr { Callable mGetter; static List<Expr> concat(Expr e, List<Expr> list) { - List<Expr> merged = new ArrayList<>(); + List<Expr> merged = new ArrayList<Expr>(); merged.add(e); merged.addAll(list); return merged; diff --git a/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java b/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java index bdb9450c..8ac352d7 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java @@ -27,7 +27,7 @@ public class ResourceExpr extends Expr { private final static Map<String, String> RESOURCE_TYPE_TO_R_OBJECT; static { - RESOURCE_TYPE_TO_R_OBJECT = new HashMap<>(); + RESOURCE_TYPE_TO_R_OBJECT = new HashMap<String, String>(); RESOURCE_TYPE_TO_R_OBJECT.put("colorStateList", "color "); RESOURCE_TYPE_TO_R_OBJECT.put("dimenOffset", "dimen "); RESOURCE_TYPE_TO_R_OBJECT.put("dimenSize", "dimen "); @@ -60,7 +60,7 @@ public class ResourceExpr extends Expr { private Map<String, ModelClass> getResourceToTypeMapping(ModelAnalyzer modelAnalyzer) { if (mResourceToTypeMapping == null) { final Map<String, String> imports = getModel().getImports(); - mResourceToTypeMapping = new HashMap<>(); + mResourceToTypeMapping = new HashMap<String, ModelClass>(); mResourceToTypeMapping.put("anim", modelAnalyzer.findClass("android.view.animation.Animation", imports)); mResourceToTypeMapping.put("animator", modelAnalyzer.findClass("android.animation.Animator", diff --git a/compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java b/compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java index 3852b91e..6af6c298 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/SymbolExpr.java @@ -54,6 +54,6 @@ public class SymbolExpr extends Expr { @Override protected List<Dependency> constructDependencies() { - return new ArrayList<>(); + return new ArrayList<Dependency>(); } } diff --git a/compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java b/compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java index 12379c20..90076c4c 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/TernaryExpr.java @@ -67,7 +67,7 @@ public class TernaryExpr extends Expr { @Override protected List<Dependency> constructDependencies() { - List<Dependency> deps = new ArrayList<>(); + List<Dependency> deps = new ArrayList<Dependency>(); Expr predExpr = getPred(); final Dependency pred = new Dependency(this, predExpr); pred.setMandatory(true); diff --git a/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java b/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java index e8c962ef..da73f66f 100644 --- a/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java +++ b/compiler/src/main/java/android/databinding/tool/reflection/SdkUtil.java @@ -103,7 +103,7 @@ public class SdkUtil { private void buildFullLookup() throws XPathExpressionException { NodeList allClasses = mDoc.getChildNodes().item(0).getChildNodes(); - mFullLookup = new HashMap<>(allClasses.getLength() * 4); + mFullLookup = new HashMap<String, Integer>(allClasses.getLength() * 4); for (int j = 0; j < allClasses.getLength(); j++) { Node node = allClasses.item(j); if (node.getNodeType() != Node.ELEMENT_NODE || !"class" diff --git a/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java b/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java index f02e0511..4f110889 100644 --- a/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java +++ b/compiler/src/main/java/android/databinding/tool/reflection/annotation/AnnotationAnalyzer.java @@ -37,7 +37,7 @@ public class AnnotationAnalyzer extends ModelAnalyzer { public static final Map<String, TypeKind> PRIMITIVE_TYPES; static { - PRIMITIVE_TYPES = new HashMap<>(); + PRIMITIVE_TYPES = new HashMap<String, TypeKind>(); PRIMITIVE_TYPES.put("boolean", TypeKind.BOOLEAN); PRIMITIVE_TYPES.put("byte", TypeKind.BYTE); PRIMITIVE_TYPES.put("short", TypeKind.SHORT); diff --git a/compiler/src/main/java/android/databinding/tool/store/SetterStore.java b/compiler/src/main/java/android/databinding/tool/store/SetterStore.java index b5b0d2b2..45592c4d 100644 --- a/compiler/src/main/java/android/databinding/tool/store/SetterStore.java +++ b/compiler/src/main/java/android/databinding/tool/store/SetterStore.java @@ -449,7 +449,7 @@ public class SetterStore { private void ensureInstanceAdapters() { if (mInstanceAdapters == null) { - HashSet<String> adapters = new HashSet<>(); + HashSet<String> adapters = new HashSet<String>(); for (HashMap<AccessorKey, MethodDescription> methods : mStore.adapterMethods.values()) { for (MethodDescription method : methods.values()) { if (!method.isStatic) { @@ -462,12 +462,12 @@ public class SetterStore { adapters.add(method.type); } } - mInstanceAdapters = new HashMap<>(); + mInstanceAdapters = new HashMap<String, List<String>>(); for (String adapter : adapters) { final String simpleName = simpleName(adapter); List<String> list = mInstanceAdapters.get(simpleName); if (list == null) { - list = new ArrayList<>(); + list = new ArrayList<String>(); mInstanceAdapters.put(simpleName, list); } list.add(adapter); diff --git a/compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java b/compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java index 6a06b75a..18e4b964 100644 --- a/compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java +++ b/compiler/src/main/java/android/databinding/tool/util/GenerationalClassUtil.java @@ -80,7 +80,9 @@ public class GenerationalClassUtil { // assume it is a zip file loadFomZipFile(file); } - } catch (IOException | URISyntaxException e) { + } catch (IOException e) { + L.d("cannot open zip file from %s", url); + } catch (URISyntaxException e) { L.d("cannot open zip file from %s", url); } } diff --git a/compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt b/compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt index 9e41c2d6..edf89c27 100644 --- a/compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt +++ b/compiler/src/main/kotlin/android/databinding/tool/writer/BRWriter.kt @@ -16,11 +16,12 @@ package android.databinding.tool.writer +import org.apache.commons.lang3.SystemUtils import kotlin.properties.Delegates class BRWriter(properties: Set<String>, val useFinal : Boolean) { val indexedProps = properties.sort().withIndex() - public fun write(pkg : String): String = "package $pkg;${System.lineSeparator()}$klass" + public fun write(pkg : String): String = "package $pkg;${SystemUtils.LINE_SEPARATOR}$klass" val klass: String by Delegates.lazy { kcode("") { val prefix = if (useFinal) "final " else ""; diff --git a/compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt b/compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt index fbba6554..6a583a6a 100644 --- a/compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt +++ b/compiler/src/main/kotlin/android/databinding/tool/writer/KCode.kt @@ -13,13 +13,14 @@ package android.databinding.tool.writer +import org.apache.commons.lang3.SystemUtils import java.util.BitSet class KCode (private val s : String? = null){ private var sameLine = false - private val lineSeparator = System.getProperty("line.separator") + private val lineSeparator = SystemUtils.LINE_SEPARATOR class Appendix(val glue : String, val code : KCode) diff --git a/compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt b/compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt index b351a2f2..cad7db10 100644 --- a/compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt +++ b/compiler/src/main/kotlin/android/databinding/tool/writer/LayoutBinderWriter.kt @@ -30,6 +30,9 @@ import android.databinding.tool.ext.versionedLazy import android.databinding.tool.processing.ErrorMessages import android.databinding.tool.reflection.ModelAnalyzer import android.databinding.tool.util.L +import org.apache.commons.lang3.JavaVersion +import org.apache.commons.lang3.SystemUtils +import java.lang import java.util.ArrayList import java.util.Arrays import java.util.BitSet @@ -237,8 +240,7 @@ fun FlagSet.localValue(bucketIndex : Int) = fun FlagSet.binaryCode(bucketIndex : Int) = longToBinary(buckets[bucketIndex]) -fun longToBinary(l : Long) = - "0b${java.lang.Long.toBinaryString(l)}L" +fun longToBinary(l : Long) = "0x${lang.Long.toHexString(l)}L" fun <T> FlagSet.mapOr(other : FlagSet, cb : (suffix : String, index : Int) -> T) : List<T> { val min = Math.min(buckets.size(), other.buckets.size()) |