profile
viewpoint
Paul O’Shannessy zpao Facebook Seattle, WA https://zpao.com I do open source things at @facebook.

reactjs/react-rails 6106

Integrate React.js with Rails views and controllers, the asset pipeline, or webpacker.

reactjs/rfcs 2826

RFCs for changes to React

reactjs/express-react-views 2505

This is an Express view engine which renders React components on server. It renders static markup and *does not* support mounting those views on the client.

sebmarkbage/art 914

Retained mode vector drawing API designed for multiple output modes. There's also a built-in SVG parser.

zpao/building-react-from-scratch 316

Code for my React Rally talk.

zpao/alwaysAsk 8

A Firefox extension to make sure you get a prompt when quitting Firefox.

petehunt/statics 4

static assets in npm

zpao/addon-compatability-reporter 2

Git clone of http://viewvc.svn.mozilla.org/vc/addons/trunk/compatibility/

zpao/aitc 2

Working space for Apps in the Cloud. Because Mercurial.

zpao/blarg 2

Blarg is my original attempt at a Ruby on Rails blogging app. It powered my website for a few years.

issue closedfacebook/fbjs

Please cut a new release to publish core-js 3 support

Support for core-js 3 was merged into master in April and there hasn't been a new version published in 2 years, and no one is responding to requests to update this.

@zpao @kassens

closed time in 6 days

JoshRobertson

issue commentfacebook/fbjs

Please cut a new release to publish core-js 3 support

2.0.0 has been published https://www.npmjs.com/package/fbjs/v/2.0.0

JoshRobertson

comment created time in 6 days

issue closedfacebook/fbjs

outdated dependency

fbjs > core-js@1.2.7: core-js@<2.6.8 is no longer maintained. Please, upgrade to core-js@3 or at least to actual version of core-js@2.

npm ls core-js my-app@0.1.0 /Users/rick/develpment/app/client ├─┬ react-scripts@3.0.1 │ ├─┬ react-app-polyfill@1.0.1 │ │ └── core-js@3.0.1 │ └─┬ workbox-webpack-plugin@4.2.0 │ └─┬ workbox-build@4.3.1 │ └─┬ strip-comments@1.0.2 │ └─┬ babel-plugin-transform-object-rest-spread@6.26.0 │ └─┬ babel-runtime@6.26.0 │ └── core-js@2.6.9 └─┬ recompose@0.30.0 └─┬ fbjs@0.8.17 └── core-js@1.2.7

Please upgrade this dependency

closed time in 6 days

rick-software

issue commentfacebook/fbjs

outdated dependency

2.0.0 has been published.

rick-software

comment created time in 6 days

created tagfacebook/fbjs

tagfbjs-v2.0.0

A collection of utility libraries used by other Facebook JS projects.

created time in 6 days

created tagfacebook/fbjs

tagfbjs-scripts-v2.0.0

A collection of utility libraries used by other Facebook JS projects.

created time in 6 days

push eventfacebook/fbjs

Paul O’Shannessy

commit sha 7c7c3f2f2a9c998dabd2fd1bc7ed82dc2241886e

Update changelogs for upcoming release

view details

Paul O’Shannessy

commit sha 1f144964c07c834ab548e274fd8b102901ef00b3

[fbjs][fbjs-scripts] v2.0.0

view details

push time in 6 days

startedgithub/roadmap

started time in 7 days

issue commentzpao/qrcode.react

SVG generated with `shapeRendering` attribute instead of `shape-rendering`

Ah yea, that would do it. Preact doesn't do camelCase -> hyphenated. It looks like you may need to use preact/compat, based on https://preactjs.com/guide/v10/differences-to-react/#svg-inside-jsx

kopijunkie

comment created time in 7 days

issue commentzpao/qrcode.react

SVG generated with `shapeRendering` attribute instead of `shape-rendering`

React should convert shapeRendering to shape-rendering when creating the DOM nodes (and when rendering to string). Is there a specific usage where you aren't seeing that? It could perhaps be an issue of outdated React install.

kopijunkie

comment created time in 12 days

Pull request review commentfacebook/buck

Added python3 to interpreter names

 public void rustLibraryCheckWarning() throws IOException {                 "rust.rustc_check_flags=-Dwarnings --cfg \"feature=\\\"warning\\\"\"",                 "//messenger:messenger#check")             .getStderr(),-        containsString("error: method is never used: `unused`"));+        either(containsString("error: method is never used: `unused`"))+            .or(containsString("error: associated function is never used: `unused`")));

This file is unrelated right? Let's pull this out.

v-jizhang

comment created time in 13 days

Pull request review commentfacebook/buck

Automate publishing docs on CirclrCI

 cd -  # Commit the new version of the docs: cd $STATIC_FILES_DIR+echo "${CNAME}" > CNAME

In an ideal world this wouldn't be something that happens magically in bash, but is actually a file that lives in the website folder. This is fine for now though

v-jizhang

comment created time in a month

Pull request review commentfacebook/buck

Automate publishing docs on CirclrCI

 workflows:               only: /^v20.*/             branches:               ignore: /.*/+      - publish_docs:+          filters:+            tags:+              only: /^v20.*/+            branches:+              ignore: /.*/

Lot of copy & paste of these filters… might make sense to share them and << include them.

v-jizhang

comment created time in a month

Pull request review commentfacebook/buck

Automate publishing docs on CirclrCI

 jobs:             python3 ./tools/release/publish_release.py --no-build-deb --no-build-homebrew --github-token ${GITHUB_TOKEN} --chocolatey-token ${CHOCO_TOKEN} --use-existing-release --version ${VERSION} --output-dir artifacts           shell: bash.exe +  publish_docs:+    environment:+      <<: *linux_environment+    working_directory: "/home/circleci/buck"

Why do we need to set the working directory? Aren't we just working from the root of the clone?

v-jizhang

comment created time in a month

pull request commentfacebook/buck

Automate publishing docs on CirclrCI

Let's do this on a Linux machine.

v-jizhang

comment created time in a month

pull request commentfacebook/buck

pyenv upgraded, invalidate the cache

Is it possible to do this in a way that doesn't require configs be manually changed? eg https://support.circleci.com/hc/en-us/articles/115015426888-Clear-project-dependency-cache

v-jizhang

comment created time in a month

Pull request review commentfacebook/buck

Release fix

 def get_current_user(github_token, prefer_fb_email=True):     response = requests.get(url, headers=headers)     response.raise_for_status()     ret = response.json()-    if not ret["email"].endswith("@fb.com") and prefer_fb_email:+    default_email = ret["email"]+    if ret["email"] is None or (not ret["email"].endswith("@fb.com") and prefer_fb_email):

Could probably just use default_email here

v-jizhang

comment created time in 2 months

push eventfacebook/metro

Christoph Nakazawa

commit sha 46c5ad50b97fe5aed0a8d4f13719dba2bdd42f85

Move Metro Differential Revision: D22115162 fbshipit-source-id: edf8e6ebdfd4f254e47ddd719fd159f76e812f60

view details

push time in 2 months

push eventfacebook/metro

push time in 2 months

PR opened pytorch/pytorch.github.io

Fix YAML parsing in nemo

This is getting treating as a YAML data structure because of the colon. We should probably just quote every string value for consistency, but this should be the bare minimum.

+2 -2

0 comment

1 changed file

pr created time in 2 months

create barnchpytorch/pytorch.github.io

branch : zpao-patch-1

created branch time in 2 months

issue closedfacebook/fbshipit

Wkwkw

closed time in 2 months

jejecimod

Pull request review commentfacebook/buck

Windows release on CircleCI

 jobs:           name: pip install python-dateutil           command: python3 -m pip install python-dateutil       - run:-          name: pip install python-magic-bin+          name: pip install python-magic           command: python3 -m pip install python-magic       - run:           name: Run linux release           command: |             VERSION=${CIRCLE_TAG:1}             python3 ./tools/release/publish_release.py --no-build-chocolatey --no-chocolatey-publish --no-build-homebrew --github-token ${GITHUB_TOKEN} --use-existing-release --version ${VERSION} --output-dir artifacts +  windows_publish_release:+    environment:+      <<: *windows_environment+    working_directory: "C:\\Users\\circleci\\buck"+    executor: win/default+    steps:+      - checkout+      - run:+          name: Upgrade pip+          command: python3 -m pip install --upgrade pip+      - run:+          name: pip install requests+          command: python3 -m pip install requests+      - run:+          name: pip install python-dateutil+          command: python3 -m pip install python-dateutil+      - run:+          name: pip install python-magic-bin+          command: python3 -m pip install python-magic-bin

These use python-magic-bin but the other step uses python-magic?

v-jizhang

comment created time in 2 months

push eventzpao/qrcode.react

dependabot[bot]

commit sha 7d68ac7c0e3a0640c8fdee2eb164292908edfde9

Bump acorn from 6.3.0 to 6.4.1 (#106) Bumps [acorn](https://github.com/acornjs/acorn) from 6.3.0 to 6.4.1. - [Release notes](https://github.com/acornjs/acorn/releases) - [Commits](https://github.com/acornjs/acorn/compare/6.3.0...6.4.1) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

push time in 2 months

PR merged zpao/qrcode.react

Bump acorn from 6.3.0 to 6.4.1 dependencies

Bumps acorn from 6.3.0 to 6.4.1. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/acornjs/acorn/commit/9a2e9b6678e243d66846b91179d650d28453e70c"><code>9a2e9b6</code></a> Mark version 6.4.1</li> <li><a href="https://github.com/acornjs/acorn/commit/90a9548ea0ce351b54f956e2c4ed27cca9631284"><code>90a9548</code></a> More rigorously check surrogate pairs in regexp validator</li> <li><a href="https://github.com/acornjs/acorn/commit/df0cf1a3e2b1a51a26c14984dc0f5412b7151b10"><code>df0cf1a</code></a> Mark version 6.4.0</li> <li><a href="https://github.com/acornjs/acorn/commit/53034126864b492da4e278628bb972cb2a9313d4"><code>5303412</code></a> Also export Parser via Parser.acorn</li> <li><a href="https://github.com/acornjs/acorn/commit/efe273e70123449a458157dbf578afaf109a49ab"><code>efe273e</code></a> give token types and etc to plugins</li> <li>See full diff in <a href="https://github.com/acornjs/acorn/compare/6.3.0...6.4.1">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 2 months

issue closedzpao/qrcode.react

Typescript support

Could you please add typescript definition files to the package ?

closed time in 2 months

JesusTheHun

issue commentzpao/qrcode.react

Typescript support

I don't use Typescript here so probably not. You can use and send PRs to https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/qrcode.react/index.d.ts.

JesusTheHun

comment created time in 2 months

issue commentzpao/qrcode.react

Round image?

Images aren't round. You can use transparency in your PNG to make it look round. In that case you would not want to excavate.

The default behavior of image embeds is to simply overlay on top of the rendered QR Code. This leaves partial modules visible, which might not be what you want (and may interfere with scanners' ability to read the QR Code). excavate changes the approach used, and will find any of those partially covered modules and replace them with the provided background color. You can see the behavior if you look at the demo (https://zpao.github.io/qrcode.react/). For cases of transparency as you may be thinking about, this might be pretty awkward since we use the rectangular image dimensions to do that excavation.

Having borderRadius as an option could be an interesting solution to this. If you're interested in adding support, I'd be on board. The logic in https://github.com/zpao/qrcode.react/blob/64ab1ce2895baae6f5715829306b0dba9c97258d/src/index.js#L146-L160 (and elsewhere) gets much more complicated because we'll need real math.

Dror-Bar

comment created time in 2 months

Pull request review commentfacebook/buck

Fixed bugs for Windows release process

 SHELL ["powershell", "-command"] ARG version= ARG timestamp= ARG repository=facebook/buck+ARG chocolateyUseWindowsCompression=true  # Install chocolatey RUN Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))  # Download enough to bootstrap a build-RUN choco install -y python3 git jdk8+RUN choco install -y python --version=3.6.2+RUN choco install -y git jdk8++# Choco installs python3 and named it to python, buck expects python3 so make a copy of python3+RUN $pythonpath=(Split-Path((Get-Command python).Path)); copy ${pythonpath}\python.exe ${pythonpath}\python3.exe

Does Windows have symlinks or aliasing?

v-jizhang

comment created time in 2 months

Pull request review commentfacebook/buck

Fixed bugs for Windows release process

 def write_license_file(original_license):  def write_verification_txt(original_verification_txt, version, timestamp):     dest = "VERIFICATION.txt"-    with open(original_verification_txt, "r") as fin, open(dest, "w") as fout:+    with open(original_verification_txt, "rb") as fin, open(dest, "w") as fout:

Why do we need binary? Should we instead be specifying the encoding to be utf-8?

v-jizhang

comment created time in 2 months

pull request commentfacebook/buck

Pass release info to ant build

You've done more than just passing args to ant in here. Can we split or broaden the goal of this PR (which seems to be more about making the release process actually work)

v-jizhang

comment created time in 3 months

Pull request review commentfacebook/homebrew-fb

Fixed release_version

 class Buck < Formula     sha256 "893cf947fa0eef7c0097e6c09b063dd81cbc1df1c7e6c2ff8f3f6dcde84b71c8" => :yosemite   end -  depends_on "ant"+  depends_on "ant@1.9"

You already landed this change. Please make sure your branches and PRs are clean and off of master.

v-jizhang

comment created time in 3 months

create barnchzpao/facebook-360-spatial-workstation

branch : upgrade-jquery

created branch time in 3 months

fork zpao/facebook-360-spatial-workstation

The Facebook 360 Spatial Workstation is a software suite for designing spatial audio for 360 video and cinematic VR.

fork in 3 months

Pull request review commentfacebook/yoga

Migrate CI from TravisCI to GitHub Actions

+name: CI++on: [push, pull_request]++jobs:+  website:+    runs-on: ubuntu-latest+    strategy:+      fail-fast: false+    steps:+      - uses: actions/checkout@v2+      - name: Use Node.js 8+        uses: actions/setup-node@v1+        with:+          node-version: 8.x+      - name: Install dependencies+        run: yarn install --frozen-lockfile --ignore-scripts+        working-directory: website+      - name: Build+        run: yarn build+        working-directory: website+      - name: Deploy+        if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}+        uses: peaceiris/actions-gh-pages@v3+        with:+          github_token: ${{ secrets.GITHUB_TOKEN }}+          publish_branch: gh-pages+          publish_dir: website/public+          cname: yogalayout.com+          keep_files: true

Why?

bigfootjon

comment created time in 3 months

Pull request review commentfacebook/yoga

Migrate CI from TravisCI to GitHub Actions

+name: CI++on: [push, pull_request]++jobs:+  website:+    runs-on: ubuntu-latest+    strategy:+      fail-fast: false+    steps:+      - uses: actions/checkout@v2+      - name: Use Node.js 8+        uses: actions/setup-node@v1+        with:+          node-version: 8.x+      - name: Install dependencies+        run: yarn install --frozen-lockfile --ignore-scripts+        working-directory: website+      - name: Build+        run: yarn build+        working-directory: website+      - name: Deploy+        if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}+        uses: peaceiris/actions-gh-pages@v3+        with:+          github_token: ${{ secrets.GITHUB_TOKEN }}+          publish_branch: gh-pages+          publish_dir: website/public+          cname: yogalayout.com+          keep_files: true+          user_name: 'Yoga-bot'+          user_email: 'yogabot@fb.com'+  android:+    runs-on: ubuntu-latest+    strategy:+      fail-fast: false+    steps:+      - uses: actions/checkout@v2+      - name: Install dependencies+        run: |+          pushd $HOME+          git clone --depth 1 https://github.com/facebook/buck.git+          cd buck+          ant

Oh geez this is building Buck on every change… that's… wow. We probably actually need to do something different here since Buck master is diverging (but let's ignore that for now)

bigfootjon

comment created time in 3 months

Pull request review commentfacebook/yoga

Migrate CI from TravisCI to GitHub Actions

+name: CI++on: [push, pull_request]++jobs:+  website:+    runs-on: ubuntu-latest+    strategy:+      fail-fast: false+    steps:+      - uses: actions/checkout@v2+      - name: Use Node.js 8+        uses: actions/setup-node@v1+        with:+          node-version: 8.x

AHHHH Node 8 EOL was last year. Let's at least use 10 (or 12)

bigfootjon

comment created time in 3 months

Pull request review commentfacebook/yoga

Migrate CI from TravisCI to GitHub Actions

+name: CI++on: [push, pull_request]++jobs:+  website:+    runs-on: ubuntu-latest+    strategy:+      fail-fast: false

There's no matrix so this is a no-op I believe

bigfootjon

comment created time in 3 months

Pull request review commentfacebook/yoga

Migrate CI from TravisCI to GitHub Actions

+name: CI++on: [push, pull_request]++jobs:+  website:+    runs-on: ubuntu-latest+    strategy:+      fail-fast: false+    steps:+      - uses: actions/checkout@v2+      - name: Use Node.js 8+        uses: actions/setup-node@v1+        with:+          node-version: 8.x+      - name: Install dependencies+        run: yarn install --frozen-lockfile --ignore-scripts+        working-directory: website+      - name: Build+        run: yarn build+        working-directory: website+      - name: Deploy+        if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}+        uses: peaceiris/actions-gh-pages@v3+        with:+          github_token: ${{ secrets.GITHUB_TOKEN }}+          publish_branch: gh-pages+          publish_dir: website/public+          cname: yogalayout.com+          keep_files: true+          user_name: 'Yoga-bot'+          user_email: 'yogabot@fb.com'

We should come up with some best practice here… I almost prefer website deployment being a completely different workflow that only runs on master (so it's obvious at the workflow configuration when it runs, not needing to read this far to find out)

bigfootjon

comment created time in 3 months

Pull request review commentfacebook/buck

Print error messages when a flavor not found

 public AppleBinaryDescription(   @Override   public boolean hasFlavors(       ImmutableSet<Flavor> flavors, TargetConfiguration toolchainTargetConfiguration) {-    if (FluentIterable.from(flavors).allMatch(SUPPORTED_FLAVORS::contains)) {+    Set<Flavor> unmatchedFlavors = Sets.difference(flavors, SUPPORTED_FLAVORS);+    if (unmatchedFlavors.isEmpty()) {       return true;     }     ImmutableSet<Flavor> delegateFlavors =-        ImmutableSet.copyOf(Sets.difference(flavors, NON_DELEGATE_FLAVORS));-    if (swiftDelegate-        .map(swift -> swift.hasFlavors(delegateFlavors, toolchainTargetConfiguration))-        .orElse(false)) {+      ImmutableSet.copyOf(Sets.difference(flavors, NON_DELEGATE_FLAVORS));+    ImmutableSet<Flavor> supportedDelegateFlavors = swiftDelegate+      .map(swift -> swift.getSupportedFlavors(delegateFlavors, toolchainTargetConfiguration))+      .orElse(ImmutableSet.<Flavor>of());+    unmatchedFlavors = Sets.difference(unmatchedFlavors, supportedDelegateFlavors);

Would it be valuable to just make this an immutable set now, rather than potentially make 2 later?

v-jizhang

comment created time in 3 months

Pull request review commentfacebook/buck

Print error messages when a flavor not found

 public static boolean isSwiftTarget(BuildTarget buildTarget) {         .getUnresolvedCxxPlatforms();   } +  public ImmutableSet<Flavor> getSupportedFlavors(+    ImmutableSet<Flavor> flavors, TargetConfiguration toolchainTargetConfiguration) {

4 spaces for function definition

v-jizhang

comment created time in 3 months

Pull request review commentfacebook/buck

Print error messages when a flavor not found

 public AppleBinaryDescription(   @Override   public boolean hasFlavors(       ImmutableSet<Flavor> flavors, TargetConfiguration toolchainTargetConfiguration) {-    if (FluentIterable.from(flavors).allMatch(SUPPORTED_FLAVORS::contains)) {+    Set<Flavor> unmatchedFlavors = Sets.difference(flavors, SUPPORTED_FLAVORS);+    if (unmatchedFlavors.isEmpty()) {       return true;     }     ImmutableSet<Flavor> delegateFlavors =-        ImmutableSet.copyOf(Sets.difference(flavors, NON_DELEGATE_FLAVORS));-    if (swiftDelegate-        .map(swift -> swift.hasFlavors(delegateFlavors, toolchainTargetConfiguration))-        .orElse(false)) {+      ImmutableSet.copyOf(Sets.difference(flavors, NON_DELEGATE_FLAVORS));+    ImmutableSet<Flavor> supportedDelegateFlavors = swiftDelegate+      .map(swift -> swift.getSupportedFlavors(delegateFlavors, toolchainTargetConfiguration))+      .orElse(ImmutableSet.<Flavor>of());+    unmatchedFlavors = Sets.difference(unmatchedFlavors, supportedDelegateFlavors);+    if (unmatchedFlavors.isEmpty()) {       return true;     }     ImmutableList<ImmutableSortedSet<Flavor>> thinFlavorSets =-        generateThinDelegateFlavors(delegateFlavors);+      generateThinDelegateFlavors(ImmutableSet.<Flavor>copyOf(unmatchedFlavors));     if (thinFlavorSets.size() > 0) {       return Iterables.all(-          thinFlavorSets,-          inputFlavors -> cxxBinaryFlavored.hasFlavors(inputFlavors, toolchainTargetConfiguration));+        thinFlavorSets,+        inputFlavors -> cxxBinaryFlavored.hasFlavors(inputFlavors, toolchainTargetConfiguration));     } else {-      return cxxBinaryFlavored.hasFlavors(delegateFlavors, toolchainTargetConfiguration);+      return cxxBinaryFlavored.hasFlavors(ImmutableSet.<Flavor>copyOf(unmatchedFlavors),+        toolchainTargetConfiguration);

Looks like this will match style more closely

      return cxxBinaryFlavored.hasFlavors(
        ImmutableSet.<Flavor>copyOf(unmatchedFlavors),
        toolchainTargetConfiguration);
v-jizhang

comment created time in 3 months

Pull request review commentfacebook/buck

Fixed abi for kotlin top level functions

 public static StubJarClassEntry of(      // The synthetic package-info class is how package annotations are recorded; that one is     // actually used by the compiler-    if (!isAnonymousOrLocalOrSyntheticClass(stub)+    if (!((isSyntheticClass(stub) && !isKotlinModule) || isAnonymousOrLocalClass(stub))

If we can simplify this logic and match formatting, that'd be great.

v-jizhang

comment created time in 3 months

Pull request review commentfacebook/buck

Fixed abi for kotlin top level functions

 private InputStream openInputStream() {     return new ByteArrayInputStream(writer.toByteArray());   } -  private static boolean isAnonymousOrLocalOrSyntheticClass(ClassNode node) {+  private static boolean isSyntheticClass(ClassNode node) {     if ((node.access & Opcodes.ACC_SYNTHETIC) == Opcodes.ACC_SYNTHETIC) {       return true;     }+    return false;
    return (node.access & Opcodes.ACC_SYNTHETIC) == Opcodes.ACC_SYNTHETIC);
v-jizhang

comment created time in 3 months

pull request commentfacebook/buck

Fixed abi for kotlin top level functions

Let's add a test here :)

v-jizhang

comment created time in 3 months

more