Buckets:
localhost1978/localhost / LOCALHOST1978 /Modules /SSK_Providers /Vendor /td /example /android /AddIntDef.php
| if ($argc !== 2) { | |
| exit(); | |
| } | |
| $file = file_get_contents($argv[1]); | |
| if (strpos($file, 'androidx.annotation.IntDef') !== false) { | |
| exit(); | |
| } | |
| $file = str_replace('import androidx.annotation.Nullable;', 'import androidx.annotation.IntDef;'.PHP_EOL. | |
| 'import androidx.annotation.Nullable;'.PHP_EOL. | |
| PHP_EOL. | |
| 'import java.lang.annotation.Retention;'.PHP_EOL. | |
| 'import java.lang.annotation.RetentionPolicy;'.PHP_EOL, $file); | |
| preg_match_all('/public static class ([A-Za-z0-9]+) extends ([A-Za-z0-9]+)/', $file, $matches, PREG_SET_ORDER); | |
| $children = []; | |
| foreach ($matches as $val) { | |
| if ($val[2] === 'Object') { | |
| continue; | |
| } | |
| $children[$val[2]][] = ' '.$val[1].'.CONSTRUCTOR'; | |
| } | |
| $file = preg_replace_callback('/public abstract static class ([A-Za-z0-9]+)(<R extends Object>)? extends Object [{]/', | |
| function ($val) use ($children) { | |
| $values = implode(','.PHP_EOL, $children[$val[1]]); | |
| return $val[0].<<<EOL | |
| /** | |
| * Describes possible values returned by getConstructor(). | |
| */ | |
| @Retention(RetentionPolicy.SOURCE) | |
| @IntDef({ | |
| $values | |
| }) | |
| public @interface Constructors {} | |
| /** | |
| * @return identifier uniquely determining type of the object. | |
| */ | |
| @Constructors | |
| @Override | |
| public abstract int getConstructor(); | |
| EOL; | |
| }, | |
| $file); | |
| file_put_contents($argv[1], $file); | |
Xet Storage Details
- Size:
- 1.77 kB
- Xet hash:
- 40b44c76b28673a4a4517fe14495d7235ee7aa8006ba865f21e0b243a1be1e4d
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.