)? extends Object [{]/', function ($val) use ($children) { return $val[0].PHP_EOL.' @Retention(RetentionPolicy.SOURCE)'.PHP_EOL.' @IntDef({'.implode(',', $children[$val[1]]).<<<'EOL' }) 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);