Need to pass test cases from java8 OOPs concepts
Assignment 1/.DS_Store
__MACOSX/Assignment 1/._.DS_Store
Assignment 1/Assignment 1.iml
Assignment 1/.idea/.gitignore
# Default ignored files /shelf/ /workspace.xml
Assignment 1/.idea/workspace.xml
1590960794916 1590960794916
Assignment 1/.idea/modules.xml
Assignment 1/.idea/misc.xml
Assignment 1/src/.DS_Store
__MACOSX/Assignment 1/src/._.DS_Store
Assignment 1/.idea/codeStyles/codeStyleConfig.xml
Assignment 1/.idea/libraries/org_hamcrest_hamcrest_2_2.xml
Assignment 1/src/test/.DS_Store
__MACOSX/Assignment 1/src/test/._.DS_Store
Assignment 1/src/main/.DS_Store
__MACOSX/Assignment 1/src/main/._.DS_Store
Assignment 1/src/test/ca/.DS_Store
__MACOSX/Assignment 1/src/test/ca/._.DS_Store
Assignment 1/src/main/ca/.DS_Store
__MACOSX/Assignment 1/src/main/ca/._.DS_Store
Assignment 1/src/test/ca/bcit/.DS_Store
__MACOSX/Assignment 1/src/test/ca/bcit/._.DS_Store
Assignment 1/src/main/ca/bcit/.DS_Store
__MACOSX/Assignment 1/src/main/ca/bcit/._.DS_Store
Assignment 1/src/test/ca/bcit/comp2526/ShortMagic1Tests.java
Assignment 1/src/test/ca/bcit/comp2526/ShortMagic1Tests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
ShortMagic1Tests
extends
ClassFileTest
{
@
Test
public
void
createClassFile
()
{
final
NotEnoughDataException
ex
;
ex
=
assertThrows
(
NotEnoughDataException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Require 4 bytes to be available"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/ShortMinorTests.java
Assignment 1/src/test/ca/bcit/comp2526/ShortMinorTests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
ShortMinorTests
extends
ClassFileTest
{
@
Test
public
void
createClassFile
()
{
final
NotEnoughDataException
ex
;
ex
=
assertThrows
(
NotEnoughDataException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBE
,
(
byte
)
0x00
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Require 2 bytes to be available"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/ShortMajorTests.java
Assignment 1/src/test/ca/bcit/comp2526/ShortMajorTests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
ShortMajorTests
extends
ClassFileTest
{
@
Test
public
void
createClassFile
()
{
final
NotEnoughDataException
ex
;
ex
=
assertThrows
(
NotEnoughDataException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBE
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x00
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Require 2 bytes to be available"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/MissingMinorTests.java
Assignment 1/src/test/ca/bcit/comp2526/MissingMinorTests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
MissingMinorTests
extends
ClassFileTest
{
@
Test
public
void
createClassFile
()
{
final
NotEnoughDataException
ex
;
ex
=
assertThrows
(
NotEnoughDataException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBE
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Require 2 bytes to be available"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/MissingMajorTests.java
Assignment 1/src/test/ca/bcit/comp2526/MissingMajorTests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
MissingMajorTests
extends
ClassFileTest
{
@
Test
public
void
createClassFile
()
{
final
NotEnoughDataException
ex
;
ex
=
assertThrows
(
NotEnoughDataException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBE
,
(
byte
)
0x00
,
(
byte
)
0x00
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Require 2 bytes to be available"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/TooLowMajorTests.java
Assignment 1/src/test/ca/bcit/comp2526/TooLowMajorTests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
TooLowMajorTests
extends
ClassFileTest
{
@
Test
public
void
majorTooLow1
()
{
final
InvalidMajorVersionException
ex
;
ex
=
assertThrows
(
InvalidMajorVersionException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBE
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x2C
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Major number must be between 45 and 55, was: 44"
));
}
@
Test
public
void
majorTooLow2
()
{
final
InvalidMajorVersionException
ex
;
ex
=
assertThrows
(
InvalidMajorVersionException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBE
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x2B
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Major number must be between 45 and 55, was: 43"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/ClassFileTest.java
Assignment 1/src/test/ca/bcit/comp2526/ClassFileTest.java
package
ca
.
bcit
.
comp2526
;
import
java
.
io
.
ByteArrayInputStream
;
import
java
.
io
.
DataInputStream
;
import
java
.
io
.
IOException
;
public
abstract
class
ClassFileTest
{
protected
ClassFile
createClassFile
(
final
byte
[]
bytes
)
throws
IOException
,
NotEnoughDataException
,
ClassFileException
{
try
(
final
DataInputStream
stream
=
new
DataInputStream
(
new
ByteArrayInputStream
(
bytes
)))
{
final
ClassFile
classFile
;
classFile
=
new
ClassFile
(
stream
);
return
classFile
;
}
}
}
Assignment 1/src/test/ca/bcit/comp2526/ShortMagic3Tests.java
Assignment 1/src/test/ca/bcit/comp2526/ShortMagic3Tests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
ShortMagic3Tests
extends
ClassFileTest
{
@
Test
public
void
createClassFile
()
{
final
NotEnoughDataException
ex
;
ex
=
assertThrows
(
NotEnoughDataException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Require 4 bytes to be available"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/BadMagicTests.java
Assignment 1/src/test/ca/bcit/comp2526/BadMagicTests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
BeforeAll
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
BadMagicTests
extends
ClassFileTest
{
@
Test
public
void
badMagicNumber1
()
{
final
InvalidMagicNumberException
ex
;
ex
=
assertThrows
(
InvalidMagicNumberException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBD
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Magic number must be 3405691582, was: 3405691581"
));
}
@
Test
public
void
badMagicNumber2
()
{
final
InvalidMagicNumberException
ex
;
ex
=
assertThrows
(
InvalidMagicNumberException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBC
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Magic number must be 3405691582, was: 3405691580"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/MissingMagicTests.java
Assignment 1/src/test/ca/bcit/comp2526/MissingMagicTests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
MissingMagicTests
extends
ClassFileTest
{
@
Test
public
void
createClassFile
()
{
final
NotEnoughDataException
ex
;
ex
=
assertThrows
(
NotEnoughDataException
.
class
,
()
->
createClassFile
(
new
byte
[]{}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Require 4 bytes to be available"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/TooHighMajorTests.java
Assignment 1/src/test/ca/bcit/comp2526/TooHighMajorTests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
TooHighMajorTests
extends
ClassFileTest
{
@
Test
public
void
majorTooHigh1
()
{
final
InvalidMajorVersionException
ex
;
ex
=
assertThrows
(
InvalidMajorVersionException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBE
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x38
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Major number must be between 45 and 55, was: 56"
));
}
@
Test
public
void
majorTooHigh2
()
{
final
InvalidMajorVersionException
ex
;
ex
=
assertThrows
(
InvalidMajorVersionException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
,
(
byte
)
0xBA
,
(
byte
)
0xBE
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x00
,
(
byte
)
0x39
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Major number must be between 45 and 55, was: 57"
));
}
}
Assignment 1/src/test/ca/bcit/comp2526/ShortMagic2Tests.java
Assignment 1/src/test/ca/bcit/comp2526/ShortMagic2Tests.java
package
ca
.
bcit
.
comp2526
;
import
org
.
junit
.
jupiter
.
api
.
Test
;
import
org
.
junit
.
jupiter
.
api
.
TestInstance
;
import
java
.
io
.
IOException
;
import
static
org
.
hamcrest
.
CoreMatchers
.
equalTo
;
import
static
org
.
hamcrest
.
MatcherAssert
.
assertThat
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
*
;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.
assertThrows
;
public
class
ShortMagic2Tests
extends
ClassFileTest
{
@
Test
public
void
createClassFile
()
{
final
NotEnoughDataException
ex
;
ex
=
assertThrows
(
NotEnoughDataException
.
class
,
()
->
createClassFile
(
new
byte
[]
{
(
byte
)
0xCA
,
(
byte
)
0xFE
}));
assertThat
(
ex
.
getMessage
(),
equalTo
(
"Require 4 bytes to be available"
));
}
}
Assignment 1/src/main/ca/bcit/comp2526/StreamUtils.java
Assignment 1/src/main/ca/bcit/comp2526/StreamUtils.java
package
ca
.
bcit
.
comp2526
;
import
java
.
io
.
DataInputStream
;
import
java
.
io
.
IOException
;
import
java
.
io
.
InputStream
;
public
final
class
StreamUtils
{
private
StreamUtils
()
{
throw
new
IllegalStateException
(
"Do not instantiate"
);
}
// this has issues, but will do for now
private
static
boolean
checkAvailable
(
final
InputStream
stream
,
final
int
required
)
throws
IOException
{
final
int
available
;
available
=
stream
.
available
();
return
available
>=
required
;
}
public
static
void
readBytes
(
final
DataInputStream
stream
,
final
byte
[]
bytes
)
throws
IOException
,
NotEnoughDataException
{
if
(
!
(
checkAvailable
(
stream
,
bytes
.
length
)))
{
throw
new
NotEnoughDataException
(
bytes
.
length
);
}
stream
.
readFully
(
bytes
);
}
public
static
byte
readByte
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
if
(
!
(
checkAvailable
(
stream
,
1
)))
{
throw
new
NotEnoughDataException
(
1
);
}
final
byte
value
;
value
=
stream
.
readByte
();
return
value
;
}
public
static
short
readUnsignedByte
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
final
byte
value
;
final
short
unsigned
;
value
=
readByte
(
stream
);
// Why isn't there a Byte.toUnsignedShort?!
unsigned
=
(
short
)
Byte
.
toUnsignedInt
(
value
);
return
unsigned
;
}
public
static
short
readShort
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
if
(
!
(
checkAvailable
(
stream
,
2
)))
{
throw
new
NotEnoughDataException
(
2
);
}
final
short
value
;
value
=
stream
.
readShort
();
return
value
;
}
public
static
int
readUnsignedShort
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
final
short
value
;
final
int
unsigned
;
value
=
readShort
(
stream
);
unsigned
=
Short
.
toUnsignedInt
(
value
);
return
unsigned
;
}
public
static
int
readInt
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
if
(
!
(
checkAvailable
(
stream
,
4
)))
{
throw
new
NotEnoughDataException
(
4
);
}
final
int
value
;
value
=
stream
.
readInt
();
return
value
;
}
public
static
long
readUnsignedInt
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
final
int
value
;
final
long
unsigned
;
value
=
readInt
(
stream
);
unsigned
=
Integer
.
toUnsignedLong
(
value
);
return
unsigned
;
}
public
static
float
readFloat
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
if
(
!
(
checkAvailable
(
stream
,
4
)))
{
throw
new
NotEnoughDataException
(
4
);
}
final
float
value
;
value
=
stream
.
readFloat
();
return
value
;
}
public
static
long
readLong
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
if
(
!
(
checkAvailable
(
stream
,
8
)))
{
throw
new
NotEnoughDataException
(
8
);
}
final
long
value
;
value
=
stream
.
readLong
();
return
value
;
}
public
static
double
readDouble
(
final
DataInputStream
stream
)
throws
IOException
,
NotEnoughDataException
{
if
(
!
(
checkAvailable
(
stream
,
8
)))
{
throw
new
NotEnoughDataException
(
8
);
}
final
double
value
;
value
=
stream
.
readDouble
();
return
value
;
}
}
Assignment 1/src/main/ca/bcit/comp2526/.DS_Store
__MACOSX/Assignment 1/src/main/ca/bcit/comp2526/._.DS_Store
Assignment 1/src/main/ca/bcit/comp2526/InvalidMajorVersionException.java
Assignment 1/src/main/ca/bcit/comp2526/InvalidMajorVersionException.java
package
ca
.
bcit
.
comp2526
;
public
class
InvalidMajorVersionException
extends
ClassFileException
{
public
InvalidMajorVersionException
(
final
int
value
)
{
super
(
String
.
format
(
"Major number must be between 45 and 55, was: %d"
,
value
));
}
}
Assignment 1/src/main/ca/bcit/comp2526/ClassFile.java
Assignment 1/src/main/ca/bcit/comp2526/ClassFile.java
package
ca
.
bcit
.
comp2526
;
import
java
.
io
.
DataInputStream
;
import
java
.
io
.
IOException
;
public
class
ClassFile
{
public
static
final
int
MIN_MAJOR
=
45
;
public
static
final
int
MAX_MAJOR
=
55
;
public
ClassFile
(
final
DataInputStream
stream
)
throws
NotEnoughDataException
,
IOException
,
InvalidMagicNumberException
,
InvalidMajorVersionException
{
final
long
magic
;
// final int minor;
final
int
major
;
magic
=
StreamUtils
.
readUnsignedInt
(
stream
);
if
(
magic
!=
0xCAFEBABEL
)
{
throw
new
InvalidMagicNumberException
(
magic
);
}
/* minor = */
StreamUtils
.
readUnsignedShort
(
stream
);
major
=
StreamUtils
.
readUnsignedShort
(
stream
);
if
(
major
<
MIN_MAJOR
||
major
>
MAX_MAJOR
)
{
throw
new
InvalidMajorVersionException
(
major
);
}
}
}
Assignment 1/src/main/ca/bcit/comp2526/NotEnoughDataException.java
Assignment 1/src/main/ca/bcit/comp2526/NotEnoughDataException.java
package
ca
.
bcit
.
comp2526
;
public
class
NotEnoughDataException
extends
Exception
{
private
final
int
expected
;
public
NotEnoughDataException
(
final
int
expected
)
{
super
(
String
.
format
(
"Require %d bytes to be available"
,
expected
));
this
.
expected
=
expected
;
}
public
int
getExpected
()
{
return
expected
;
}
}
Assignment 1/src/main/ca/bcit/comp2526/InvalidMagicNumberException.java
Assignment 1/src/main/ca/bcit/comp2526/InvalidMagicNumberException.java
package
ca
.
bcit
.
comp2526
;
public
class
InvalidMagicNumberException
extends
ClassFileException
{
public
InvalidMagicNumberException
(
final
long
value
)
{
super
(
String
.
format
(
"Magic number must be 3405691582, was: %d"
,
value
));
}
}
Assignment 1/src/main/ca/bcit/comp2526/ClassFileException.java
Assignment 1/src/main/ca/bcit/comp2526/ClassFileException.java
package
ca
.
bcit
.
comp2526
;
public
class
ClassFileException
extends
Exception
{
public
ClassFileException
(
final
String
msg
)
{
super
(
msg
);
}
}